error pip config_error ai_generated true

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

Also available as: JSON · Markdown · 中文
95%Fix Rate
92%Confidence
1Evidence
2023-05-01First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
pip 23.0 active
pip 23.1 active
pip 23.2 active
pip 24.0 active

Root Cause

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

中文

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

Official Documentation

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

Workarounds

  1. 95% success Create and use a virtual environment: 'python3 -m venv /path/to/venv' then 'source /path/to/venv/bin/activate' and install packages inside it.
    Create and use a virtual environment: 'python3 -m venv /path/to/venv' then 'source /path/to/venv/bin/activate' and install packages inside it.
  2. 90% success Use pipx for installing CLI applications: 'pipx install <package>'.
    Use pipx for installing CLI applications: 'pipx install <package>'.

中文步骤

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

Dead Ends

Common approaches that don't work:

  1. 50% fail

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

  2. 60% fail

    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.