Ubuntu Python 环境维护与交换空间配置
适用范围
用于 Ubuntu/Debian 系统上的 Python 环境安装、清理和交换空间配置。
本文不建议修改或删除操作系统依赖的 Python。执行前应确认 Ubuntu 版本、目标 Python 版本、安装来源以及现有依赖。
风险提示
- 不要直接删除发行版自带的
python3,APT、桌面组件和系统脚本可能依赖它。 - 不要手动把
/usr/bin/python或/usr/bin/python3铫接到任意 Python 版本。 - 不要使用
sudo pip向系统 Python 安装或批量卸载包。 - Python 3.6 已停止上游安全维护,仅应用于必须复现的遗留项目,并应放在容器或其他隔离环境中。
apt autoremove可能删除仍然需要的软件,执行前必须检查待删除列表。
1. 确认系统与现有环境
cat /etc/os-release
command -v python python2 python3 pip pip3
python3 --version
python3 -m pip --version
检查某个 Python 是否由 APT 管理:
dpkg -S "$(command -v python3)"
apt-cache policy python3 python3.6
如果命令来自 /usr/local、/opt、Conda、pyenv 或虚拟环境,则不能假设它由 APT 管理。
2. 安装发行版支持的 Python
通常应使用 Ubuntu 当前版本提供的默认 Python:
sudo apt-get update
sudo apt-get install python3 python3-pip python3-venv
创建项目级虚拟环境:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
若只是希望终端中的 python 指向系统的 python3,优先检查发行版是否提供以下软件包:
sudo apt-get install python-is-python3
不要用下面的方式覆盖系统链接:
# 不推荐
sudo ln -sf /usr/bin/python3.6 /usr/bin/python
sudo ln -sf /usr/bin/pip3 /usr/bin/pip
安装 Python 包时始终绑定到明确的解释器:
python -m pip install opencv-python-headless
在可复现项目中,应把准确版本写入依赖文件。例如:
opencv-python-headless==<verified-version>
不要在同一环境中同时安装 opencv-python 和 opencv-python-headless。
3. 遗留项目需要 Python 3.6
Python 3.6 已停止维护。不要为了使用它而替换 Ubuntu 的系统 Python。推荐按以下优先级隔离: