Ubuntu19.10升级20.04后Distutils缺失致virtualenv异常问题
解决Ubuntu 20.04升级后virtualenv找不到Python3.7 distutils的问题
我之前升级Ubuntu版本时也碰到过一模一样的问题!本质原因是升级到20.04后,系统默认切换到Python3.8,升级过程中可能自动移除了Python3.7对应的distutils依赖包——直接复制Python3.8的distutils过去肯定不行,因为不同Python版本的distutils是绑定版本的,版本不兼容会触发新的错误。
给你一套靠谱的解决步骤:
先尝试直接安装Python3.7的distutils包
打开终端,先更新apt缓存:sudo apt update然后安装对应版本的distutils:
sudo apt install python3.7-distutils如果提示找不到包,添加deadsnakes源
Ubuntu20.04的默认软件源里没有Python3.7的相关包,需要添加第三方的deadsnakes PPA:sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update之后再重新执行安装命令:
sudo apt install python3.7-distutils验证修复效果
安装完成后,尝试激活你的Django项目对应的virtualenv:workon 你的虚拟环境名称现在应该不会再出现
FileNotFoundError的报错了。
额外提醒:如果virtualenvwrapper还是有异常,可以检查一下你的环境变量配置,比如~/.bashrc或~/.zshrc里的VIRTUALENVWRAPPER_PYTHON是否指向正确的Python3.7路径,或者重新创建虚拟环境时明确指定Python版本:
mkvirtualenv --python=python3.7 新虚拟环境名称
内容的提问来源于stack exchange,提问作者Steve
相关产品推荐
相关产品推荐

