error pip config_error ai_generated true

错误:外部管理环境 × 此环境是外部管理的 ╰─> 要系统范围内安装 Python 包,请尝试使用 apt install python3-xyz,其中 xyz 是你要安装的包。 如果你想安装非 Debian 打包的 Python 包,请使用 python3 -m venv path/to/venv 创建一个虚拟环境。 然后使用 path/to/venv/bin/python 和 path/to/venv/bin/pip。确保已安装 python3-full。 如果你想安装非 Debian 打包的 Python 应用程序,最简单的方法是使用 pipx install xyz,它会为你管理一个虚拟环境。确保已安装 pipx。 有关更多信息,请参阅 /usr/share/doc/python3.11/README.venv。

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.

ID: pip/externally-managed-environment-full-message

其他格式: JSON · Markdown 中文 · English
95%修复率
92%置信度
1证据数
2023-05-01首次发现

版本兼容性

版本状态引入弃用备注
pip 23.0 active
pip 23.1 active
pip 23.2 active
pip 24.0 active

根因分析

Python 环境被标记为外部管理(例如,在支持 PEP 668 的 Debian/Ubuntu 系统上),阻止 pip 系统范围安装包,以避免与系统包管理器冲突。

English

The Python environment is marked as externally managed (e.g., on Debian/Ubuntu systems with PEP 668 support), preventing pip from installing packages system-wide to avoid conflicts with the system package manager.

generic

官方文档

https://peps.python.org/pep-0668/

解决方案

  1. 创建并使用虚拟环境:'python3 -m venv /path/to/venv',然后 'source /path/to/venv/bin/activate',在虚拟环境中安装包。
  2. 使用 pipx 安装 CLI 应用程序:'pipx install <package>'。

无效尝试

常见但无效的做法:

  1. 50% 失败

    This can break the system Python installation and cause conflicts with apt-managed packages, leading to system instability.

  2. 60% 失败

    This removes the protection entirely and may cause the same issues as --break-system-packages; also, updates to the python3 package may restore the file.