虚拟环境 PIPX 的使用

pipx 依赖 pipvirtualenv,它只能在 python 3.6+ 的 Python 版本中才能使用。

在开发中,我们常常需要使用各种第三方工具包来辅助开发工作。但是,有时候不同项目可能需要不同版本的工具包,或者我们希望将这些工具包与特定项目隔离开来以避免冲突。

在这种情况下,pipx 是一个非常方便的工具,它可以帮助我们管理全局安装的 Python 工具包,并且能够为每个工具包创建独立的虚拟环境,从而实现工具包的隔离和版本管理。

pipx 只是解决 pip 的一个痛点,pipx的适用场景比较单一,它只适用于安装和运行那些有提供命令行入口的app。

原理

pipx 使用 Python 的虚拟环境来安装和运行全局工具包。每个工具包都被安装到一个独立的虚拟环境中,这样就可以避免与其他工具包产生冲突。

此外,pipx 还会创建一个符号链接到每个工具包的可执行文件,以便可以直接在命令行中运行这些工具。

基础使用

安装 pipx

首先需要安装它。可以使用 pip 来安装 pipx

python3 -m pip install pipx
python3 -m userpath append ~/.local/bin

安装工具包

安装工具包非常简单,只需使用 pipx install 命令即可。例如,要安装 Poetry,可以执行以下命令:

pipx install poetry

运行工具包

安装完成后,可以直接在命令行中使用工具包。

poetry about

其他命令

查看已安装过的包

pipx list

安装包

运行

升级某个包

pipx upgrade <pkg>

升级全部包

pipx upgrade-all

卸载包

pipx uninstall <pkg>

卸载全部包

pipx uninstall-all

重装全部包

pipx reinstall-all

在指定的VENV运行PIP

pipx runpip <env_name> <args>

输出如何配置自动完成

pipx completions

高级应用

安装一个包的多个版本

pipx install --suffix=@1.2.0 poetry==1.2.0
pipx install --suffix=@1.7.0 poetry==1.7.0
pipx install --suffix=@preview --pip-args=--pre poetry

poetry@1.2.0 --version
poetry@1.7.0 --version
poetry@preview --version

注意事项

  • 二进制文件的保存位置默认是 ~/.local/bin
  • 虚拟环境的保存位置:默认是 ~/.local/share/pipx
  • 使用 pipx 安装的工具包不会影响系统中已安装的全局工具包。
  • 每个工具包都会创建一个独立的虚拟环境,因此不会与其他工具包产生冲突。
  • 如果某个工具包不再需要,可以随时通过 ``pipx uninstall 命令进行卸载。
  • 每执行一次 pipx install 就会新建一个虚拟环境。
创建时间:2024-04-03
最后修改:2024-04-03

反馈