【已解决】Ubuntu系统Python虚拟环境创建失败:The virtual environment was not created successfully because ensurepip
·
📝 问题描述
在Ubuntu系统上使用python3 -m venv .venv创建Python虚拟环境时,遇到以下错误:
The virtual environment was not created successfully because ensurepip is not
available. On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.
apt install python3.12-venv
You may need to use sudo with that command. After installing the python3-venv
package, recreate your virtual environment.

🔍 环境信息
- 操作系统:Ubuntu(或其他Debian系Linux)
- Python版本:Python 3.12.3
- 错误类型:venv模块缺少ensurepip支持
💡 问题原因
在Ubuntu/Debian系统上,Python的完整虚拟环境支持是分拆到单独的软件包中的。系统预装的Python可能只包含了基础模块,而python3-venv作为一个可选包,需要手动安装才能获得完整的虚拟环境创建功能。
具体来说,缺少python3.12-venv包会导致:
ensurepip模块不可用- 无法在虚拟环境中自动安装pip
- 创建的虚拟环境不完整(缺少bin/activate等文件)
✅ 解决方案
第一步:安装python3-venv包
根据您的Python版本安装对应的venv包。这里以Python 3.12为例:
sudo apt update
sudo apt install python3.12-venv -y
注意:请将python3.12-venv替换为您实际的Python版本,例如:
- Python 3.8:
python3.8-venv - Python 3.10:
python3.10-venv - Python 3.11:
python3.11-venv
如果不确定Python版本,可以使用以下命令查看:
python3 --version
第二步:删除之前创建失败或不完整的虚拟环境
rm -rf .venv
第三步:重新创建虚拟环境
python3 -m venv .venv
第四步:验证安装(可选)
确认虚拟环境创建成功:
ls -la .venv/bin/activate
如果显示文件存在,说明虚拟环境创建成功。此时可以使用以下命令激活虚拟环境:
source .venv/bin/activate
激活成功后,命令行提示符前会出现(.venv)前缀。
🎯 总结
这个问题的本质是Ubuntu/Debian系统对Python包进行了拆分,需要额外安装python3-venv包来获得完整的虚拟环境支持。安装对应版本的venv包后,问题即可解决。
关键点:
- 确保安装了正确的venv版本:必须与Python版本完全对应
- 删除失败的虚拟环境:避免旧文件干扰新环境的创建
- 使用sudo安装系统包:venv是系统级包,需要管理员权限
预防措施:
- 在Ubuntu系统上使用Python虚拟环境前,先检查是否安装了venv包
- 创建虚拟环境前,确保Python版本与venv包版本匹配
- 可以使用
apt list --installed | grep python3-venv检查是否已安装
希望这篇文章能帮助遇到同样问题的开发者快速解决问题!🎉
扩展阅读:
更多推荐

所有评论(0)