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包,并给出三种方法


直接翻译

  1. 如果你想在系统范围安装Python包,可以尝试使用apt命令安装,例如apt install python3-xyz,其中xyz是你要安装包名

  2. 如果你想安装非Debian包管理的Python包,可以创建一个虚拟环境并在其中安装包。首先使用python3 -m venv path/to/venv命令创建虚拟环境然后使用path/to/venv/bin/pythonpath/to/venv/bin/pip执行Python和pip命令。请确保你已经安装了python3-full

  3. 如果你想安装非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


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注