最近发布的 Debian 12 bookworm 中的 Python 使用 Python 3.11+,会默认提示用户需要在 venv 虚拟环境后安装 Python 应用程式和库模块,而不是直接在系统(外部)范围内通过 pip 安装相关库模块
如果你仍希望像以前一样直接在系统范围内安装库模块,则需要安装 python3-xyz
即 apt 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
可以退出虚拟环境