前言error: externally-managed-environment
最近升级了服务器系统,从 Debian 11 到了 Debian 12,然后安装 pip 包的时候就发现存在这个问题。

➜ ~ pip3 install torch torchvision torchaudio
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.

解决方法
根据提示,我们这里换用 pipx 来安装包

首先安装 pipx

sudo apt install pipx
1
之后把 pip 命令换成 pipx 命令就行

➜ ~ pipx install torch --include-deps
installed package torch 2.0.1, installed using Python 3.11.2
These apps are now globally available
- convert-caffe2-to-onnx
- convert-onnx-to-caffe2
- torchrun
⚠️ Note: '/home/xxx/.local/bin' is not on your PATH environment variable. These apps will not be globally accessible until your PATH is
updated. Run `pipx ensurepath` to automatically add it, or manually modify your PATH in your shell's config file (i.e. ~/.bashrc).
done! ✨ 🌟 ✨

后面那个 --include-deps 是为了确保依赖也一起安装的。

最后记得添加这一行到 .bashrc 或者 .zshrc

export PATH=$PATH:"/home/xxx/.local/bin"

或者直接执行也一样的

pipx ensurepath

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。