Ubuntu 18.04下Python3.9创建虚拟环境失败求助
解决Ubuntu 18.04.6 LTS下Python3.9 venv创建失败问题
问题重现
在Ubuntu 18.04.6 LTS通过apt安装Python3.9后,执行以下命令创建虚拟环境时报错:
$ python3.9 -m venv /home/user1/py3.9 Error: Command '['/home/user1/py3.9/bin/python3.9', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.
安装python3.9-distutils并成功升级pip后,再次执行创建命令仍报相同错误(此前Python3.11可正常用相同方式创建虚拟环境)。
解决方案
方案1:跳过ensurepip后手动安装pip
- 创建不带pip的虚拟环境:
python3.9 -m venv --without-pip /home/user1/py3.9
- 激活虚拟环境:
source /home/user1/py3.9/bin/activate
- 下载并运行get-pip.py安装pip:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python get-pip.py
激活后即可正常使用虚拟环境。
方案2:补全Python3.9开发依赖
Ubuntu 18.04下Python3.9的默认安装可能缺少编译类依赖,导致ensurepip执行失败:
- 安装python3.9-dev:
sudo apt install python3.9-dev
- 删除此前创建的失败虚拟环境目录:
rm -rf /home/user1/py3.9
- 重新创建虚拟环境:
python3.9 -m venv /home/user1/py3.9
方案3:修复系统pip关联
如果系统中存在多版本Python,可能导致pip关联混乱:
- 卸载系统中Python3.9相关的pip包:
sudo apt purge python3-pip python3.9-pip
- 重新安装依赖组件:
sudo apt install --reinstall python3.9-distutils python3.9-dev
- 再次尝试创建虚拟环境。
说明
Python3.11可正常创建虚拟环境,是因为其在Ubuntu 18.04的软件源中打包更完整,ensurepip组件无兼容性问题;而Python3.9作为较老版本,需手动补充缺失的系统依赖或绕开ensurepip的自动安装流程。
内容的提问来源于stack exchange,提问作者ponir
相关产品推荐
相关产品推荐

