一、情景导入
新开发了一个fastapi的后端,部署Ubuntu服务器的时候需要创建虚拟环境,但是在执行python3 -m venv xxxx
创建虚拟环境的的时候报rror: Command 'Error: Command '['/www/venv/xxx/bin/python3.11', '-m', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.
,然而该路径下却存在这个文件夹以及部分内容,如何解决这个问题呢?
二、关键词
Python3.11, 创建自带虚拟环境
三、分析思路
根据度娘的反馈得知,其实这主要是因为Python安装没有包含ensurepip模块,或者你的网络连接有问题导致pip无法下载依赖包。
四、工具环境
- MacOS 10.15.7
- Ubuntu 18.04
- Python 3.11
- 阿里云ECS
五、实现步骤
- 删除已创建的虚拟环境
- 创建不带pip的虚拟环境
- 安装虚拟环境中的pip
六、实操代码
- 执行命令
rm -r /www/venv/xxx
删除这个文件夹 - 执行命令
python3 -m venv /www/venv/xxx --without-pip
重新创建虚拟环境
如果执行上述两个步骤还是无法装上
- 执行命令
source /www/venv/xxx/bin/active
激活虚拟环境 - 执行命令
python -m pip uninstall pip
卸载新环境中的旧pip - 然后如果你使用的python版本低于3.4甚至是py2,那么你需要使用get-pip.py脚本文件(https://bootstrap.pypa.io/get-pip.py,进去这个网站,然后根据你自己python的版本选择对应的get-pip.py)来手动安装 pip,如果选择错版本可能会报错:
ERROR: This script does not work on Python 3.6 The minimum supported Python version is 3.7. Please use https://bootstrap.pypa.io/pip/3.6/get-pip.py instead.
七、归纳总结
无
八、注意事项
无
九、相关资源
- https://bootstrap.pypa.io/get-pip.py
文档信息
- 本文作者:CHY
- 本文链接:https://chyblog.cn/2023/05/14/python3-venv-error/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)