安装独立命令行工具#
许多包都提供命令行应用程序。此类包的示例包括 mypy、flake8、black 和 Pipenv。
通常,您希望能够从系统上的任何位置访问这些应用程序,但在同一全局环境中安装包及其依赖项可能会导致版本冲突,并破坏操作系统对 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
中。您可能需要重新启动终端才能使此更新生效。
现在,您可以使用 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
您可以在 https://pipx.pypa.io/ 了解更多有关 pipx 的信息。