解决 Ubuntu 23.04 上 Pip 安装错误的 3 种方法
如果您升级到 Ubuntu 23.04 并尝试运行“pip install”,您会发现它会抛出错误 - 但这不是错误。
pip install
命令在 Ubuntu 23.04 中不起作用的原因是为了避免 Python 包管理器和 Ubuntu 底层 APT 之间发生冲突而有意改变了策略(Ubuntu 的上游 Debian 也采取了这种做法) 。
基本上,您无法在 Ubuntu 23.04 的虚拟环境之外运行 pip install
。如果您尝试这样做,您会收到类似于以下内容的“外部管理环境”错误:
好消息是,有许多可用的解决方法,这些解决方法不会通过强制安装软件包来覆盖策略更改来危及系统的稳定性。
在 Ubuntu 23.04 中安装 Python 应用程序
1.使用repo版本
如果您需要的 Python 软件包位于 Ubuntu/Debian 存储库中,您可以从那里安装它。例如,sudo apt install python3-foo
,其中“foo”是您想要的包的名称。
如果您不确定您想要的包是否在存储库中,只需输入 python3-
然后按 tab
键即可查看其中可用的所有内容的打印结果。
2.使用venv创建虚拟环境
如果您要安装的 Python 软件包不在 Ubuntu 存储库中,或者您想要安装比 Ubuntu 可用的更新版本,您可以使用 venv< 创建虚拟环境/代码>。
首先安装它:
sudo apt install python3-venv
然后运行:
python3 -m venv .venv/anynamehere
这将在您的主文件夹中创建一个名为 .venv
的目录。其中包含您的虚拟环境(命名为您选择的名称),其中包含 python 和 pip 的副本,您可以使用它们在环境中安装所需的内容。
例如,我创建了一个名为“eternia”的虚拟环境,然后使用其中的“pip”二进制文件来安装(这毫无意义,因为它不再工作,但这是我想到的第一个)CLI Twitter 客户端 Rainbowstream:
这不是最糟糕的解决方法,但它有点“混乱”,因为当你需要运行某些东西时,你需要记住具体参考虚拟环境,坦率地说,我有 ZX Spectrum 的内存容量。
使用pipx(推荐)
最后,您也许可以使用pipx
。 “问题”是 pipx 不能与 Python 库一起使用,所以如果你需要这些库,这个选择就不适用了。但是,如果您想要的是 Python 应用程序,那么使用它会更容易。
为什么?
好吧,pipx a) 自动为您安装的每个应用程序创建一个虚拟环境,然后 b) 自动在 .local/bin
中创建指向它的链接,以便您可以从命令行运行它,就像一切都像以前一样——很好💪!
运行以下命令在 Ubuntu 上安装 pipx:
sudo apt install pipx
将其添加到您的路径(这样您就可以在全球范围内运行):
pipx ensurepath
然后像这样安装应用程序,其中“foo”是您要安装的应用程序的名称:
pipx install foo
例如,要安装 Please 终端起始页工具,我只需运行 pipx install please-cli
,然后运行 please
(因为 pipx 自动创建一个符号为我链接到它,我已经运行了 pipx Ensurepath 命令)。
就这么简单!
包起来
在这篇文章中,我向您展示了三种解决 Ubuntu 23.04 中 pip 策略更改的方法,这意味着您不能像早期版本那样简单地运行 pip 安装。 Pipx 是最简单、最优雅的解决方案,因为它减少了摩擦,让您专注于启动和运行您最喜欢的 Python 应用程序。