报错代码:
itheima@wen:~$ pip install ollama streamlit
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.
这个报错 externally-managed-environment 并不是你的操作有问题,而是现代 Linux 系统(如 Ubuntu 24.04、Debian 12+)为了保护系统自带的 Python 环境不被破坏,默认禁止直接使用全局的 pip 安装第三方包。
结合你之前遇到的 Ollama 网络问题以及现在想安装 streamlit 的需求,最推荐且符合企业开发规范的做法是创建一个 Python 虚拟环境。这样既能绕过限制,又能让项目依赖保持干净。
你可以直接在终端中按顺序执行以下 4 步操作:
🛠️ 最佳解决方案:使用虚拟环境
-
创建虚拟环境
在命令行输入以下命令,创建一个名为myenv的独立环境(名字可以自定义):python3 -m venv myenv
-
激活虚拟环境
输入以下命令进入这个环境。激活成功后,你会发现命令行最前面多了一个(myenv)的标志:source myenv/bin/activate
-
正常安装依赖
现在你已经处于一个独立、安全的沙盒中了,可以放心地使用pip安装ollama和streamlit,不会再出现报错:pip install ollama streamlit
-
退出虚拟环境(可选)
当你完成项目开发或需要离开这个环境时,只需输入:deactivate
💡 以后每次重启电脑后,如果需要继续这个项目,只需要先进入目录并重新执行 source myenv/bin/activate 即可。
⚠️ 其他方案与风险提示
除了上述推荐方法外,报错信息中也提到了其他几种方式,但各有优缺点:
-
使用 pipx(适合安装独立应用) :如果你只是想把它们当作独立的命令行工具来用,可以使用
pipx。它会自动为每个应用管理虚拟环境。sudo apt install pipx pipx install ollama pipx install streamlit -
强制绕过限制(强烈不推荐) :报错提示的最后提到可以使用
--break-system-packages参数。虽然加上这个参数能强行安装成功,但它会破坏系统的包管理保护机制,极易导致系统自带的 Python 工具或其他软件崩溃,千万不要在生产环境或主力机上使用。