debian12中使用pip安装模块出现报错
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.
If you wish to install a non-Debian packaged Python application,
it may be easiest to use pipx install xyz, which will manage a
virtual environment for you. Make sure you have pipx installed.
See /usr/share/doc/python3.11/README.venv for more information.
note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
错误: “外部管理的环境”,
无法直接使用pip安装python包,并给出三种方法
直接翻译
-
如果你想在系统范围内安装Python包,可以尝试使用
apt
命令来安装,例如apt install python3-xyz
,其中xyz
是你要安装的包名。 -
如果你想安装非Debian包管理的Python包,可以创建一个虚拟环境并在其中安装包。首先使用
python3 -m venv path/to/venv
命令创建虚拟环境,然后使用path/to/venv/bin/python
和path/to/venv/bin/pip
来执行Python和pip命令。请确保你已经安装了python3-full
。 -
如果你想安装非Debian包管理的Python应用程序,可以尝试使用
pipx
来安装。pipx会为你管理一个虚拟环境。请确保你已经安装了pipx。
如果以上方法都无法解决问题,你可以参考/usr/share/doc/python3.11/README.venv
文件中的更多信息,或者联系你的Python安装或操作系统发行版提供商寻求帮助。
请注意,如果你选择覆盖这个限制,可能会破坏你的Python安装或操作系统。
另外,如果习惯了pip安装模块,可以试试这条语句
pip install -r requirements.txt --break-system-packages
--break-system-packages 允许破坏系统级的python包,
可能会损坏系统环境
卸载
pip uninstall somepackage --break-system-packages
还有,使用 apt install python3-xyz
安装的包,虽然使用 pip list
会正常显示,但它并不会存在 /usr/lib/python3/dist-packages
路径下,所以卸载还是用 apt remove python3-xyz