前言
安装 Friend-Circle-Lite时,出现了执行 pip install -r ./requirements.txt报错的情况
root@ser600100727670:/www/wwwroot/Friend-Circle-Lite# pip install -r ./requirements.txt
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.
报错原因
Debian/Ubuntu 新版系统(Python3.10+)引入了 PEP 668,禁止直接用 pip 在系统全局 Python 环境安装包,防止破坏系统自带 Python,所以抛出 externally-managed-environment。
不推荐直接加
--break-system-packages,容易把系统 Python 搞崩,导致 apt 等工具异常。优先使用虚拟环境。
方案 1:使用虚拟环境(推荐)
# 进入项目目录
cd /www/wwwroot/Friend-Circle-Lite
# 安装虚拟环境依赖
apt update && apt install python3-venv python3-full -y
# 创建venv
python3 -m venv venv
# 激活虚拟环境
source venv/bin/activate
# 此时前面会出现 (venv),再安装依赖
pip install -r ./requirements.txt
后续启动项目,都需要先激活虚拟环境:
source venv/bin/activate
# 然后启动项目
退出虚拟环境命令:
deactivate
方案 2:临时强制全局安装(不推荐,仅测试用,风险高)
⚠️ 风险:可能损坏系统 Python,apt 命令失效,仅应急测试
pip install -r ./requirements.txt --break-system-packages
方案 3:pipx(适合独立 Python 应用,不适合 web 项目)
pipx 适合安装单个可执行程序,这个圈子项目不适用,不推荐。
默认评论
Halo系统提供的评论