スタンドアローンのコマンドラインツールをインストールする#

多くのパッケージは、コマンドラインアプリケーションを提供しています。そのようなパッケージの例としては、 mypyflake8blackPipenv が挙げられます。

通常ならシステムのどこからでもこれらのアプリケーションにアクセスできるようにしたいと思うでしょうが、パッケージとその依存先パッケージを同じグローバル環境にインストールすると、バージョンの衝突を起こしてオペレーティングシステムが持っている Python パッケージ間の依存関係を破壊してしまうかもしれません。

pipx は、 $PATH に含まれるディレクトリを通してアプリケーションにアクセスできるようにしつつ各パッケージに仮想環境を作成することでこの問題を解決します。こうすることで、各パッケージの更新や削除をしても他のパッケージには影響を与えず、どこからでもアプリケーションを安全に走らせることができるようにできます。

注釈

pipx は Python 3.6+ でのみ動作します。

pipx は pip と一緒にインストールされています:

python3 -m pip install --user pipx
python3 -m pipx ensurepath
py -m pip install --user pipx
py -m pipx ensurepath

注釈

ensurepath `` は、アプリケーションのあるディレクトリが ``$PATH に含まれるようにすることを保証します。この更新(訳注、``$PATH``の修正のこと)が効果を持つようにするためにターミナルを再起動する必要があるかもしれません。

これで、 pipx install を使ってパッケージをインストールすることができるようになり、どこからでもそのパッケージのアプリケーションを起動することができるようになりました。

$ pipx install PACKAGE
$ PACKAGE_APPLICATION [ARGS]

例:

$ pipx install cowsay
  installed package cowsay 6.1, installed using Python 3.12.2
  These apps are now globally available
    - cowsay
done! ✨ 🌟 ✨
$ cowsay -t moo
  ___
< moo >
  ===
        \
         \
           ^__^
           (oo)\_______
           (__)\       )\/
               ||     ||
               ||----w |

pipx でインストールされたパッケージのリストやどんなアプリケーションが使用可能かを見るためには、 pipx list を使ってください:

$ pipx list
venvs are in /Users/user/Library/Application Support/pipx/venvs
apps are exposed on your $PATH at /Users/user/.local/bin
manual pages are exposed at /Users/user/.local/share/man
   package black 24.2.0, installed using Python 3.12.2
    - black
    - blackd
   package cowsay 6.1, installed using Python 3.12.2
    - cowsay
   package mypy 1.9.0, installed using Python 3.12.2
    - dmypy
    - mypy
    - mypyc
    - stubgen
    - stubtest
   package nox 2024.3.2, installed using Python 3.12.2
    - nox
    - tox-to-nox

パッケージを更新またはアンインストールするには:

pipx upgrade PACKAGE
pipx uninstall PACKAGE

pipx は pip を使って更新やアンインストールができます:

python3 -m pip install --upgrade pipx
python3 -m pip uninstall pipx
py -m pip install --upgrade pipx
py -m pip uninstall pipx

また、pipx ならアプリケーションの最新版を一時的で短命の環境にインストールして動作させることができます。例えば:

pipx run cowsay -t moooo

pipx で使える(サブ)コマンドの完全なリストを見たければ、次のようにしてください:

pipx --help

pipx については、 https://pipx.pypa.io/ でもっと学べます。