🐍
pipx install pipx
Python製のコマンドを環境を汚さずにインストールするpipxというものがありますが、pipx自体をpipxに管理させるのはアリだろうかとやってみます。
pipxでインストールしたコマンドは、デフォルトでは $HOME/.local/pipx/venvs
にPython仮想環境としてインストールされます。pipx自体をこの場所にインストールします。
python3 -m venv $HOME/.local/pipx/venvs/pipx
仮想環境を有効化してpipxをインストールします。
. $HOME/.local/pipx/venvs/pipx/bin/activate
pip install -U pip setuptools
pip install pipx
この状態でpipx listとすると
pipx list
コンソール出力
venvs are in /Users/speg03/.local/pipx/venvs
apps are exposed on your $PATH at /Users/speg03/.local/bin
⚠️ package pipx has missing internal pipx metadata.
One or more packages have a missing internal pipx metadata.
They were likely installed using a pipx version before 0.15.0.0.
Please uninstall and install these package(s) to fix.
メタデータがないと言われますね。
pipxを通して再インストールします。
pipx install pipx
コンソール出力
'pipx' already seems to be installed. Not modifying existing installation in
'/Users/speg03/.local/pipx/venvs/pipx'. Pass '--force' to force installation.
そのままinstallとすると、既にあると言われてしまったので --force
オプションをつけます。
pipx install --force pipx
コンソール出力
Installing to existing venv 'pipx'
⚠️ Note: pipx was already on your PATH at
/Users/speg03/.local/pipx/venvs/pipx/bin/pipx
installed package pipx 1.1.0, installed using Python 3.9.13
These apps are now globally available
- pipx
done! ✨ 🌟 ✨
pipxの仮想環境を有効化している状態なので、PATHに既にpipxがあるよとメッセージがありますね。
ちなみに、この時点で $HOME/.local/bin
にPATHが通っていない場合はensurepathを実行しておく(または手動でPATHを通しておく)と良さそうです。私はもともとPATHを通していたので実行しませんでした。
pipx ensurepath
仮想環境から抜けて最終確認です。
deactivate
pipx list
コンソール出力
venvs are in /Users/speg03/.local/pipx/venvs
apps are exposed on your $PATH at /Users/speg03/.local/bin
package pipx 1.1.0, installed using Python 3.9.13
- pipx
問題なさそうな気がします。しばらくこれで使ってみましょう。
Discussion