python 创建venv时出错,错误:命令'-Im','ensurepip','--upgrade','--default-pip']'返回非零退出状态% 1

6gpjuf90  于 2023-05-05  发布在  Python
关注(0)|答案(8)|浏览(470)

当我尝试创建venv时,它会抛出以下错误:
Error: Command '['C:\\Users\\admin\\env\\Scripts\\python.exe', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.
这对我来说很奇怪,因为我使用Python很长时间了,从来没有遇到过这样的问题。

bfrts1fy

bfrts1fy1#

首先在Ubuntu上安装特定python版本sudo apt install python3.9-venv的venv
python3.9 -m venv myenv//指定python版本。这将创建虚拟环境“myenv”

kninwzqo

kninwzqo2#

我正在使用windows 10 WSL2 ubuntu 20.04,sudo解决了我的问题。
sudo python3.8 -m venv venv

km0tfn4u

km0tfn4u3#

1-头在这个文件,并尝试重新修复您的全球python安装相应的,不要忘记检查Install launcher for all users选项,成功安装后,py launcher将被本地化在C:\Windows文件夹。
2-使用隔离的虚拟环境,venv内置模块比其他第三工具推荐,只是避免弄乱你的全局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>
c86crjj0

c86crjj04#

这与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>
mspsb9vt

mspsb9vt5#

TLDR:在Cygwin上安装python-setuptools-wheelpython-pip-wheel包。
为了找到具体的原因,我首先安装了一个没有pip支持的venv(python3 -m venv venv --without-pip),加载了它,并手动运行了失败的命令(python -Im ensurepip --upgrade --default-pip)。这生成了一个堆栈跟踪,表明它迭代了setuptools轮的所有版本,但实际上没有安装任何版本:

Traceback (most recent call last):
  File "/usr/lib/python3.9/runpy.py", line 188, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/usr/lib/python3.9/runpy.py", line 147, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/usr/lib/python3.9/runpy.py", line 111, in _get_module_details
    __import__(pkg_name)
  File "/usr/lib/python3.9/ensurepip/__init__.py", line 30, in <module>
    _SETUPTOOLS_VERSION = _get_most_recent_wheel_version("setuptools")
  File "/usr/lib/python3.9/ensurepip/__init__.py", line 27, in _get_most_recent_wheel_version
    return str(max(_wheels[pkg], key=distutils.version.LooseVersion))
ValueError: max() arg is an empty sequence

在安装python-setuptools-wheel之后,它会生成相同的堆栈跟踪,但使用的是_get_most_recent_wheel_version("pip")--因此也缺少python-setuptools-pip。安装后,以及命令的工作和生成一个venv与pip支持也工作。

pb3skfrl

pb3skfrl6#

为了创建虚拟环境,Python需要安装一些打包工具。打包工具可以在python3-setuptools中找到。
安装Python3安装工具应该可以纠正这个错误。
sudo apt install python3-setuptools

jm81lzqq

jm81lzqq7#

简单地我运行这个virtualenv venv
因为我安装的venv是这样的pip install virtualenv

92dk7w1h

92dk7w1h8#

错误:命令“['C:\Users\admin\env\Scripts\python.exe','-Im','ensurepip','--upgrade','--default-pip']”返回非零退出状态% 1。
此错误有时会发生,因为防病毒,你可以解决它,只需禁用它时使用的命令.

相关问题