创建 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` 导致错误

python venv下安装mysql出错 解决方法

无法使用 WSL Debian 和 Python3.10 创建 Python venv

在 OS Big Sur i.c.w 上加载 psycopg2 模块时出错。苹果硅

将Ionic应用程序部署到Android模拟器(Ionic 4)时出错