使用pip3安装软件包报错`externally-managed-environment`的几种解决方式
1、pip3安装软件包报错
报错externally-managed-environment
的原因:
从 Python 3.11
开始引入了 PEP 668
规范,该规范限制了在系统级 Python 环境中使用 pip 安装第三方包,以避免与系统包管理器(如 apt)产生冲突。
如何解决呢,实际上这里也给出了4种方案:
2、4种解决方式
方法一:使用系统包管理器安装
你可以尝试使用 apt
来安装
sudo apt update
sudo apt install python3-xyz
方法二:创建并使用虚拟环境(推荐)
虚拟环境可以为你的项目创建一个独立的 Python 环境,避免与系统级 Python 环境产生冲突。
- 创建虚拟环境:
python3 -m venv myenv
- 激活虚拟环境:
source myenv/bin/activate
- 在虚拟环境下安装软件包
xyz
:
pip3 install xyz
关于“创建虚拟环境” 这个方式,稍微详细一点的解释见这篇:链接
方法三:使用 pipx
安装(推荐)
pipx
可以为每个 Python 应用创建独立的虚拟环境并进行管理。
- 安装
pipx
:
sudo apt install pipx
- 使
pipx
安装的 Python 应用程序的可执行文件所在路径被正确添加到系统的环境变量 PATH 中:
pipx ensurepath
- 使用
pipx
安装软件包
pipx install xyz
方法四:使用 --break-system-packages
选项(不推荐)
虽然可以通过传递 --break-system-packages
选项来绕过 PEP 668 的限制,但这种方法可能会破坏你的 Python 安装或操作系统,不建议使用。
pip3 install --break-system-packages flask