AberSheeran
Aber Sheeran

pip 安装与脚本安装

起笔自
所属文集: Python-Package
共计 1126 个字符
落笔于

很多著名的库例如 poetry 虽然提供了 PyPi 包但它们仍然推荐使用它们自身编写的安装脚本去安装

这是为什么

众所周知使用 pip 命令默认是安装到系统的 python 环境里的当你安装的包过多总会遇到依赖冲突的事如果没遇到说明你很幸运——一个库依赖于另一个库的 0.5 版本而第三个库依赖于 1.2 版本两个版本大相径庭完全无法兼容就会导致你必须放弃一个

而 poetry 等著名库的安装脚本会为你创建好虚拟环境在虚拟环境中安装看起来很美好不过……对于新手而言譬如我的几个朋友他们对电脑没那么熟悉如果你让他找 pip 安装的路径他们还算能勉强搞定但这种对于他们来说像是黑魔法一样的脚本安装方式卸载都是一件困难的事情

其实这个问题的解决办法很简单不再使用脚本安装统统用 pipx 去安装

pipx 是一个专门用于安装命令行工具的命令行工具当然折腾它的脚本安装方式也不是十分容易的事——如果你搞不明白 get-poetry.sh 的安装与卸载那么肯定也对 pipx 的脚本安装与卸载迷迷糊糊的

但这都不重要直接使用系统的 pip 命令安装就好了依赖冲突除了 pipx 本身以外其他命令行工具全部用 pipx 管理这就解决了冲突问题

pip install -U pipx

pipx 的原理十分简单易懂在安装命令时它自动创建一个虚拟环境并把你需要安装的包安装进去将包安装后产生的可执行文件暴露在环境变量里它本身就是使用 Python 编写的十分适合在在各种需要安装很多发布在 PyPi 的命令行工具的系统上使用

而接下来这一步会难倒很多不看程序输出或者不看程序英文输出的人尽管它已经在 pipx 安装之后被输出了

在安装完 pipx 之后你需要执行 pipx ensurepath 命令来确保 pipx 用以暴露可执行文件的文件夹被包含在环境变量里注意执行完这条命令后你需要关闭控制台并重新启动一个新的在原本那个控制台里设置并不会生效

接下来就可以愉快的使用 pipx 来管理你的命令行程序们了以下是三个最常用的命令分别是安装卸载升级和列举已安装的包和位置

pipx install PACKAGE

pipx uninstall PACKAGE

pipx upgrade PACKAGE

pipx list

以下是我自己安装的命令行工具

pipx install docker-compose
pipx install poetry
pipx install pipenv
pipx install certbot
如果你觉得本文值得,不妨赏杯茶
poetry 使用指北
ContextVars 详解