创建 venv 时出错,错误:命令 '-Im'、'ensurepip'、'--upgrade'、'--default-pip']' 返回非零退出状态 1
Posted
技术标签:
【中文标题】创建 venv 时出错,错误:命令 \'-Im\'、\'ensurepip\'、\'--upgrade\'、\'--default-pip\']\' 返回非零退出状态 1【英文标题】:Error when creating venv, Error: Command '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1创建 venv 时出错,错误:命令 '-Im'、'ensurepip'、'--upgrade'、'--default-pip']' 返回非零退出状态 1 【发布时间】:2021-12-04 05:04:17 【问题描述】:当我尝试创建 venv 时,它会抛出此错误:
Error: Command '['C:\\Users\\admin\\env\\Scripts\\python.exe', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.
我很奇怪,因为我用python很久了,从来没有遇到过这样的问题。
【问题讨论】:
【参考方案1】:1- 前往doc 并尝试相应地重新修复您的全局python 安装,不要忘记检查Install launcher for all users
选项,成功安装后py launcher
将本地化在C:\Windows
文件夹下。
2- 使用隔离的虚拟环境,建议使用venv
内置模块而不是其他第 3 种工具,避免弄乱您的全局 python 文件夹。
PS c:\YOUR_PROJECT_FOLDER> py --version
PS c:\YOUR_PROJECT_FOLDER> py -0p # many python version (3.8.x, 3.9.X, 3.10.x ..) can co-exist without any conflict
PS c:\YOUR_PROJECT_FOLDER> py -m venv venv
PS c:\YOUR_PROJECT_FOLDER> .\venv\Scripts\activate
(venv) PS c:\YOUR_PROJECT_FOLDER> pip list
Package Version
---------- -------
pip 20.2.3
setuptools 49.2.1
WARNING: You are using pip version 20.2.3; however, version 21.3 is available.
You should consider upgrading via the 'c:\users\USER\desktop\YOUR_PROJECT_FOLDER\venv\scripts\python.exe -m pip install --upgrade pip' command.
# Here just copy/past that link to update the local pip of your virtual environment
(venv) PS c:\YOUR_PROJECT_FOLDER> c:\users\USER\desktop\YOUR_PROJECT_FOLDER\venv\scripts\python.exe -m pip install --upgrade pip
Collecting pip
Using cached pip-21.3-py3-none-any.whl (1.7 MB)
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 20.2.3
Uninstalling pip-20.2.3:
Successfully uninstalled pip-20.2.3
Successfully installed pip-21.3
(venv) PS c:\YOUR_PROJECT_FOLDER> pip list
Package Version
---------- -------
pip 21.3
setuptools 49.2.1
(venv) PS c:\YOUR_PROJECT_FOLDER> pip install <PYTHON_PACKAGE>
【讨论】:
【参考方案2】:这与 Windows 更新有关。
PS C:\Users\Your Name\AppData\Local\Programs\Python\Python38> ./python -m venv c:\TEMP\py38-venv
Error: Command '['c:\\TEMP\\py38-venv\\Scripts\\python.exe', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 101.
这将解决问题:
卸载 Python。 使用自定义选项安装。 使用“为所有用户安装”。在此之后它工作正常:
PS C:\Utilities\PythonBase\Python38> .\python -m venv c:\temp\venv-py38
PS C:\Utilities\PythonBase\Python38>
【讨论】:
那么问题的原因是什么,install for all users
是如何解决它的?
我不知道,重新安装东西通常可以解决很多问题。
重新安装,粘贴这一行:.\python -m venv c:\temp\venv-py38,出现同样的错误
但是我不确定我是否做对了所有事情【参考方案3】:
我使用的是 windows 10 WSL2 ubuntu 20.04,sudo
解决了我的问题。
sudo python3.8 -m venv venv
【讨论】:
以上是关于创建 venv 时出错,错误:命令 '-Im'、'ensurepip'、'--upgrade'、'--default-pip']' 返回非零退出状态 1的主要内容,如果未能解决你的问题,请参考以下文章
在 ubuntu 服务器 16.04 上安装 psycopg2 时出错
PythonAnywhere `python3.6 -m venv test` 导致错误
无法使用 WSL Debian 和 Python3.10 创建 Python venv