Ubuntu 16.04系统更新后Python3 Pip损坏问题求助
解决Ubuntu 16.04更新后虚拟环境中Pip损坏的问题
我之前也碰到过一模一样的情况——系统更新后,虚拟环境里的pip直接罢工了,尤其是Ubuntu 16.04这种已经停更的版本,很容易因为系统级Python的变动搞坏虚拟环境里的依赖链。给你几个一步步的解决方案,从简单修复到重建环境:
方案一:修复现有虚拟环境的Pip
先试试不用重建环境,直接修复pip:
- 激活你的虚拟环境:
source /home/ubuntu/virtualenvs/myenv/bin/activate - 用Python自带的
ensurepip工具重新安装并升级pip:python -m ensurepip --upgrade - 注意Python 3.6不支持最新版的pip,得指定兼容的版本升级:
这是Python 3.6能支持的最后一个pip版本,之后再尝试安装celery应该就能正常运行了。pip install --upgrade pip==21.3.1
方案二:重建虚拟环境(如果修复无效)
如果上面的方法没解决问题,最稳妥的方式是重建虚拟环境,彻底清除损坏的依赖:
- 先备份当前环境的依赖列表(如果还能运行
pip freeze的话):
如果pip freeze > requirements.txtpip freeze也报错,就手动整理你需要的包清单到requirements.txt里。 - 退出虚拟环境:
deactivate - 删除旧的损坏环境:
rm -rf /home/ubuntu/virtualenvs/myenv - 重新创建指定Python 3.6的虚拟环境:
virtualenv -p python3.6 /home/ubuntu/virtualenvs/myenv - 激活新环境:
source /home/ubuntu/virtualenvs/myenv/bin/activate - 安装之前的依赖:
pip install -r requirements.txt - 最后尝试安装celery:
pip install celery
额外提醒
Ubuntu 16.04已经停止官方支持了,后续系统更新可能还会带来更多依赖兼容问题。如果业务允许的话,建议尽早升级到更高版本的Ubuntu(比如20.04或22.04),搭配对应版本的Python,这样长期来看稳定性会好很多。
内容的提问来源于stack exchange,提问作者Birne94
相关产品推荐
相关产品推荐

