本文译自:Pipx – Install And Run Python Applications In Isolated Environment
翻译:OpenView
校对:开源视界
原文地址:https://www.ostechnix.com/pipx-install-and-run-python-applications-in-isolated-environments/

通过虚拟环境来安装Python应用是总是被推荐的,这是为了避免Python应用间产生冲突。Pip包管理器通过使用venv以及virtualenv这两个工具来帮助我们在隔离的环境中安装Python应用。还有另一个Python.org官方推荐的包管理器Pipenv可以用于安装Python应用。与Pip不同,Pipenv会默认自动创建虚拟环境。意味着你不再需要手动为你的项目创建虚拟环境。现在,我要介绍一个相似的叫做Pipx的自由开源工具,其允许你以隔离的虚拟环境安装和运行Python应用。
使用Pipx,我们可以轻松地安装数以千计的PyPI中的应用。而且你可以只以普通用户的权限来完成所有的操作。你不需要是“root”用户或者具有“sudo”权限。值得注意的是Pipx可以从临时的环境运行一个程序,而不用安装该程序。这对于你想测试同一个程序的多个版本的情况是非常重要的。由Pipx安装的包可以被列出、升级和卸载。Pipx是一个跨平台的应用,可以运行在Linux、Mac OS和Windows上。
Python 3.6+、Pip和venu模块需要被已安装才能安装pipx。确保你已经安装好了它们。
venv是被用来创建虚拟环境。现在可以运行下面的命令来安装pipx。
python3 -m pip install --user pipx
python3 -m userpath append ~/.local/bin
pipx的默认二进制文件的位置是~/.local/bin。你可以通过PIPX_BIN_DIR环境变量来覆盖它。如果你覆盖了PIPX_BIN_DIR,要确保运行时其在你的path上,这可以通过userpath append $PIPX_BIN_DIR来实现。
默认的Pipx的虚拟环境是~/.local/pipx。这也可以通过环境变量PIPX_HOME覆写。
然我们更进一步看看如何使用Pipx安装Python应用。
要全局地安装一个Python应用,比如cowsay,运行:
pipx install cowsay
这个命令会自动地创建虚拟环境,安装包,并将包的可执行文件放入你的$PATH中。
示例输出:
installed package cowsay 2.0.3, Python 3.6.8
These binaries are now globally available
- cowsay
done! ✨ ��� ✨

现在我们来测试一下新安装的cowsay程序:

这里,我从官网选用了几个例子。你可以安装和测试其它的Python包。
要列出安装了的应用,运行:
pipx list
示例输出:
venvs are in /home/sk/.local/pipx/venvs
binaries are exposed on your $PATH at /home/sk/.local/bin
package cowsay 2.0.3, Python 3.6.8
- cowsay
如果你没有安装任何包,你将会看到下面的输出:
nothing has been installed with pipx ���
要升级一个包,很简单:
pipx upgrade cowsay
要一次性升级所有安装的包,使用:
pipx upgrade-all
有时,你可能想要在不安装一个Python应用的情况下来运行它。
pipx run pycowsay moooo

这个命令实际上没有安装给出的程序,而是从临时的虚拟环境运行了它。你可以使用这个命令来迅速测试Python应用。
你甚至可以直接运行.py文件。
$ pipx run https://gist.githubusercontent.com/cs01/fa721a17a326e551ede048c5088f9e0f/raw/6bdfbb6e9c1132b1c38fdd2f195d4a24c540c324/pipx-demo.py
pipx is working!
一个包可以通过以下命令卸载:
pipx uninstall cowsay
要移除所有的安装的包,可以通过:
pipx uninstall-all
要查看帮助模块,运行:
pipx --help
好了,这就是所有内容了。如果你曾想要寻找一个安全、便捷和可依赖的应用来安装和运行Python应用,Pipx很可能是一个好的选择。
Linux中使用snap和flatpak来安装和管理应用程序

喜欢使用Linux办公、学习、hack的朋友们可以点击关注小编,小编将竭力提供更多内容给大家交流~
| 留言与评论(共有 0 条评论) |