Debian 12 pip 错误 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

之后把 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

你可能感兴趣的:(debian,pip,运维)