公式サイトでのPoetryのインストール方法の一つにpipxを使ったインストール方法があって、それが気になったので、pipxを導入してPoetryをインストールしていこうと思います。手順はmacOSの場合になります。
pipxのインストール
Homebrewを使ってpipxをインストールします。
$ brew install pipx
==> Downloading https://formulae.brew.sh/api/formula.jws.json
##O=-# #
==> Downloading https://formulae.brew.sh/api/cask.jws.json
##O=-# #
==> Downloading https://ghcr.io/v2/homebrew/core/pipx/manifests/1.3.3
Already downloaded: /Users/t0k0sh1/Library/Caches/Homebrew/downloads/af94290372652b3f23470aa9b2dc3e6cc6f6ac908d786fa0b2ccf9c0f53db957--pipx-1.3.3.bottle_manifest.json
==> Fetching pipx
==> Downloading https://ghcr.io/v2/homebrew/core/pipx/blobs/sha256:31547c41734fa46c13276ada25e3e8548db97281d0c513b9cdcb5268adcc74ff
Already downloaded: /Users/t0k0sh1/Library/Caches/Homebrew/downloads/a4c05e49cf7f84a6647e146f9d68d9983028ea48180d87771a41cdb1f5d27b45--pipx--1.3.3.arm64_sonoma.bottle.tar.gz
==> Pouring pipx--1.3.3.arm64_sonoma.bottle.tar.gz
==> Caveats
zsh completions have been installed to:
/opt/homebrew/share/zsh/site-functions
==> Summary
🍺 /opt/homebrew/Cellar/pipx/1.3.3: 108 files, 697.7KB
==> Running `brew cleanup pipx`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
インストール後、pipx ensurepath
コマンドを実行します。
$ pipx ensurepath
Success! Added /Users/t0k0sh1/.local/bin to the PATH environment variable.
Consider adding shell completions for pipx. Run 'pipx completions' for instructions.
You will need to open a new terminal or re-login for the PATH changes to take effect.
Otherwise pipx is ready to go! ✨ 🌟 ✨
上記メッセージ中に、
You will need to open a new terminal or re-login for the PATH changes to take effect.
とあるので、新しいターミナルを開くかログインし直す必要があります。今回はこのままインストールを進めたいので、設定ファイルを読み込み直します。
$ exec $SHELL -l
これでインストールは完了です。
activate-global-python-argcompleteのlinkでエラー
Homebrewでインストールする際に以下のエラーに遭遇しました。
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /opt/homebrew
Could not symlink bin/activate-global-python-argcomplete
Target /opt/homebrew/bin/activate-global-python-argcomplete
already exists. You may want to remove it:
rm '/opt/homebrew/bin/activate-global-python-argcomplete'
To force the link and overwrite all conflicting files:
brew link --overwrite python-argcomplete
To list all files that would be deleted:
brew link --overwrite --dry-run python-argcomplete
事象としては、activate-global-python-argcomplete
のsymlinkに失敗したようです。解消方法としてはいくつかありますが、ここでは一番最初に書かれている/opt/homebrew/bin/activate-global-python-argcomplete
を削除する方法で進めます。
指示どおりに対応してきます。まずは、activate-global-python-argcomplete
が存在するかをチェックします。
$ ls /opt/homebrew/bin/activate*
/opt/homebrew/bin/activate-global-python-argcomplete
存在していることを確認できました。これを削除します。
$ rm /opt/homebrew/bin/activate-global-python-argcomplete
$ ls /opt/homebrew/bin/activate*
zsh: no matches found: /opt/homebrew/bin/activate*
削除されたことを確認しました。では、元の手順に戻って、再度pipx install
コマンドを実行します。
Poetryをインストールする
pipx
を使ってPoetryをインストールします。
$ pipx install poetry
installed package poetry 1.7.1, installed using Python 3.12.1
These apps are now globally available
- poetry
⚠️ Note: '/Users/t0k0sh1/.local/bin' is not on your PATH environment variable. These apps will not be globally accessible until your PATH is updated. Run `pipx ensurepath` to automatically add it, or
manually modify your PATH in your shell's config file (i.e. ~/.bashrc).
done! ✨ 🌟 ✨
インストール後、コマンドが使えるようになっていることを確認します。
$ poetry -V
Poetry (version 1.7.1)
これでPoetryのインストールは完了しました。
まとめ
pipxのインストールで少しトラブルがありましたが、比較的簡単にインストールを進めることができました。
PYthon製のCLIをインストールする際は、pipxを使っていくのが良さそうです。