OpenClaw 在 Ubuntu 24 云服务器踩坑:PEP 668 导致 pip 全部失效的终极解决方案
🧩 背景
在 Ubuntu 24 云服务器上部署 OpenClaw,
一切正常启动,结果执行 Python skill 时直接报错:
error: externally-managed-environment
This environment is externally managed
See PEP 668
当时我以为:
-
Python 没装?
-
pip 坏了?
-
openclaw 配错?
结果都不是。

💣 真相:Ubuntu 24 启用了 PEP 668
从 Ubuntu 23+ 开始:
系统 Python 被标记为 externally managed。
意思是:
不允许你用 pip 往系统 Python 里装包。
你只要执行:
pip install xxx
就会被拒绝。
🤯 为什么会这样?
Ubuntu 现在强制:
-
apt 管理系统 Python
-
pip 不得污染系统环境
这是为了防止:
-
系统依赖冲突
-
apt 升级崩溃
-
Python 环境被破坏
理论上是好事,但对云服务器部署真的很折磨。
🚑 正确解决方案(推荐)
第一步:安装 venv
sudo apt install python3.12-venv python3-pip
第二步:创建专用虚拟环境
python3 -m venv ~/.venvs/openclaw
第三步:用虚拟环境 pip 安装依赖
~/.venvs/openclaw/bin/python -m pip install edge-tts requests pillow
记住:
❌ 不要再用 pip install
✅ 一定要用:
venv路径/bin/python -m pip install
第四步(关键):让 OpenClaw 使用虚拟环境
如果是 systemd 启动:
sudo systemctl edit openclaw
加入:
[Service]
Environment="PATH=/home/azureuser/.venvs/openclaw/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
重启:
sudo systemctl daemon-reload
sudo systemctl restart openclaw
🔥 为什么不能用 --break-system-packages?
虽然可以:
pip install --break-system-packages
但会:
-
破坏系统 Python
-
未来 apt 更新可能炸
-
云服务器长期运行风险极高
不推荐。
🎯 最终效果
-
不再触发 PEP 668
-
OpenClaw Python skill 正常运行
-
系统 Python 保持干净
-
未来升级安全
💡 如果你也在做:
-
OpenClaw
-
企业微信机器人
-
飞书 AI Agent
-
Ubuntu 云部署
我可以整理一份完整避坑清单。

全部 0条评论