Ubuntu24.04LTS中使用apt按照pip,然后pip install时会提示:
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.12/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.
这个错误信息表明你正在尝试在一个由Ubuntu系统或某些系统级服务管理的Python环境中使用pip来安装包,而这个环境是“外部管理”的,意味着它可能已经被Ubuntu的某些部分或其他系统级服务所依赖。直接在这个环境中使用pip安装或更新包可能会破坏这些系统级服务或应用的运行。
解决方案:
通过venv包来,创建一个全局的虚拟环境,然后新建一个enterpy3
别名来激活它。
第一步:安装venv包
sudo apt install python3-venv
第二步:创建虚拟环境
cd ~
mkdir .python_venv
cd .python_venv
python3 -m venv global
第三步:设置切换虚拟环境的自定义命令
编辑bashrc
vim ~/.bashrc
追加以下内容,wq保存
alias enterpy3='. ~/.python_venv/global/bin/activate'
重新加载bashrc
source ~/.bashrc
以后再使用python前都先执行下 enterpy3
命令,切换到虚拟环境,就可以使用pip正常安装包和运行python脚本