最近发布的 Debian 12 bookworm 中的 Python 使用 Python 3.11+,会默认提示用户需要在 venv 虚拟环境后安装 Python 应用程式和库模块,而不是直接在系统(外部)范围内通过 pip 安装相关库模块

如果你仍希望像以前一样直接在系统范围内安装库模块,则需要安装 python3-xyzapt install python3-xyz,此处不再赘述

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.

使用venv指令创建虚拟环境

对于当前的 Debian 12 bookworm,可以通过 more /usr/share/doc/python3.11/README.venv
查看 venv 的使用方法

#在当前用户的主目录创建 .venvs 虚拟环境目录
mkdir -p ~/.venvs

#用 venvs 创建 MHDDoS 的虚拟环境
python3 -m venv ~/.venvs/Test

#使用虚拟环境中的 Python pip 安装相关库,如下所示
~/.venvs/Test/bin/python -m pip install -r requirements.txt

#查看当前虚拟环境下 pip 安装的库
~/.venvs/Test/bin/python -m pip list

激活虚拟环境,确保指向正确的 Python 解释器路径

source ~/.venvs/Test/bin/activate

虚拟环境中使用 deactivate 可以退出虚拟环境

实际操作

Screenshot1

Screenshot2

Screenshot3

参考资料

python - How do I solve "error: externally-managed-environment" everytime I use pip3? - Stack Overflow

venv --- 创建虚拟环境 — Python 3.11.4 文档

最后修改:2023 年 06 月 23 日
如果觉得我的文章对你有用,请随意赞赏