在较新的 Debian、Ubuntu 和 WSL 环境中,直接执行 pip install 可能出现 externally-managed-environment 错误。这是 PEP 668 的保护机制:系统不允许 pip 直接修改由操作系统管理的 Python 环境。
安装 LiteLLM Proxy 时,不建议使用 sudo pip 或长期依赖 --break-system-packages。更稳妥的方式是使用 pipx;如果还需要修改源码或管理项目依赖,则使用虚拟环境。
方案一:使用 pipx 安装
pipx 会为命令行工具创建独立的 Python 环境,同时将命令加入用户的 PATH。对于只需要运行 LiteLLM Proxy 的场景,这是最省事的方案。
1. 安装 pipx
sudo apt update
sudo apt install -y pipx
pipx ensurepath
执行完 pipx ensurepath 后,重新打开终端。如果当前终端需要立即生效,可以运行:
source ~/.bashrc
2. 安装 LiteLLM Proxy
pipx install 'litellm[proxy]'
如果已经安装,升级时执行:
pipx upgrade litellm
3. 验证安装
litellm --help
能够正常显示命令帮助,就说明 LiteLLM 已加入 PATH。
方案二:使用 Python 虚拟环境
如果要为 LiteLLM 固定版本、保存配置或参与开发,建议为它建立单独的虚拟环境。
1. 安装虚拟环境支持
sudo apt update
sudo apt install -y python3-venv python3-full
2. 创建并激活环境
python3 -m venv ~/.venvs/litellm
source ~/.venvs/litellm/bin/activate
3. 安装 LiteLLM Proxy
python -m pip install --upgrade pip
python -m pip install 'litellm[proxy]'
litellm --help
使用结束后退出虚拟环境:
deactivate
下次使用时只需重新激活:
source ~/.venvs/litellm/bin/activate
启动一个本地代理
下面以本机 Ollama 中的 llama3.2 为例。先确认 Ollama 服务和模型已经可用:
ollama pull llama3.2
ollama list
启动 LiteLLM Proxy:
litellm --model ollama/llama3.2 --port 4000
另开一个终端检查 OpenAI 兼容接口:
curl http://localhost:4000/v1/models
如果代理启动正常,接口会返回模型信息。生产环境还需要配置访问密钥、请求限流和日志策略,不能直接把未鉴权的端口暴露到公网。更完整的代理配置可参考 LiteLLM Proxy 官方文档。
常见错误
externally-managed-environment
不要使用 sudo pip install。选择 pipx 或虚拟环境,确保依赖不会覆盖系统 Python 包。
litellm: command not found
先执行:
pipx ensurepath
source ~/.bashrc
如果使用虚拟环境,则确认已经运行:
source ~/.venvs/litellm/bin/activate
安装原生依赖失败
安装基础编译环境后重试:
sudo apt install -y build-essential python3-dev
4000 端口已被占用
指定其他端口:
litellm --model ollama/llama3.2 --port 4001
不推荐的安装方式
以下命令会绕过系统 Python 的保护机制:
pip install 'litellm[proxy]' --break-system-packages
它适合一次性的隔离测试环境,不适合作为日常安装方案。系统 Python 被覆盖后,可能影响依赖它的操作系统工具。
总结
- 只运行 LiteLLM Proxy:优先使用
pipx。 - 需要固定版本或开发调试:使用
venv。 - 不要使用
sudo pip修改系统 Python。 - 对外提供代理服务前,必须增加鉴权、限流和额度控制。
参考资料:LiteLLM Proxy、pipx、Python externally managed environments。