【问题标题】:Virtualenv stopped working due to failed download由于下载失败,Virtualenv 停止工作
【发布时间】:2021-09-23 22:59:37
【问题描述】:

我今天尝试运行virtualenv,但它已停止工作。几天前它工作正常,从那以后我没有改变任何东西。我在 debian 10 上 - 我用 apt-get update 然后 apt-get upgrade 更新了所有 debian 软件包,以确保这不是原因,但它没有解决问题。从下面的输出错误来看,virtualenv 对不存在的https://pypi.org/simple/pkg-resources/ 进行了网络调用。我真的很惊讶virtualenv 在运行时会下载包。也许是因为有些东西已经过时了?

我怎样才能让 virtualenv 再次工作?

如果您需要更多信息来帮助我解决此问题,请告诉我,我很乐意提供更新。

$ virtualenv .
Running virtualenv with interpreter /usr/bin/python2
New python executable in /home/me/myproject/bin/python2
Not overwriting existing python script /home/me/myproject/bin/python (you must use /home/me/myproject/bin/python2)
Installing setuptools, pkg_resources, pip, wheel...
  Complete output from command /home/me/myproject/bin/python2 - setuptools pkg_resources pip wheel:
  Looking in links: /usr/lib/python3/dist-packages, /usr/share/python-wheels/
Collecting setuptools
  Using cached https://files.pythonhosted.org/packages/e1/b7/182161210a13158cd3ccc41ee19aadef54496b74f2817cc147006ec932b4/setuptools-44.1.1-py2.py3-none-any.whl
Collecting pkg_resources
Could not install packages due to an EnvironmentError: 404 Client Error: Not Found for url: https://pypi.org/simple/pkg-resources/

----------------------------------------
...Installing setuptools, pkg_resources, pip, wheel...done.
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 2379, in <module>
    main()
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 724, in main
    symlink=options.symlink)
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 996, in create_environment
    download=download,
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 926, in install_wheel
    call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT)
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 817, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /home/me/myproject/bin/python2 - setuptools pkg_resources pip wheel failed with error code 1

请注意,即使在再次安装virtualenv 之后(没有先删除它),我也会得到上述输出。这是安装的输出:

$ pip install virtualenv
Requirement already satisfied: virtualenv in /home/me/.local/lib/python2.7/site-packages (20.4.7)
Requirement already satisfied: importlib-metadata>=0.12; python_version < "3.8" in /usr/local/lib/python2.7/dist-packages (from virtualenv) (1.5.0)
Requirement already satisfied: appdirs<2,>=1.4.3 in /usr/local/lib/python2.7/dist-packages (from virtualenv) (1.4.3)
Requirement already satisfied: distlib<1,>=0.3.1 in /home/me/.local/lib/python2.7/site-packages (from virtualenv) (0.3.2)
Requirement already satisfied: importlib-resources>=1.0; python_version < "3.7" in /usr/local/lib/python2.7/dist-packages (from virtualenv) (1.4.0)
Requirement already satisfied: filelock<4,>=3.0.0 in /usr/local/lib/python2.7/dist-packages (from virtualenv) (3.0.12)
Requirement already satisfied: six<2,>=1.9.0 in /usr/local/lib/python2.7/dist-packages (from virtualenv) (1.9.0)
Requirement already satisfied: pathlib2<3,>=2.3.3; python_version < "3.4" and sys_platform != "win32" in /home/me/.local/lib/python2.7/site-packages (from virtualenv) (2.3.5)
Requirement already satisfied: contextlib2; python_version < "3" in /usr/local/lib/python2.7/dist-packages (from importlib-metadata>=0.12; python_version < "3.8"->virtualenv) (0.6.0.post1)
Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python2.7/dist-packages (from importlib-metadata>=0.12; python_version < "3.8"->virtualenv) (1.2.0)
Requirement already satisfied: configparser>=3.5; python_version < "3" in /home/me/.local/lib/python2.7/site-packages (from importlib-metadata>=0.12; python_version < "3.8"->virtualenv) (3.5.0)
Requirement already satisfied: singledispatch; python_version < "3.4" in /usr/local/lib/python2.7/dist-packages (from importlib-resources>=1.0; python_version < "3.7"->virtualenv) (3.4.0.3)
Requirement already satisfied: typing; python_version < "3.5" in /usr/local/lib/python2.7/dist-packages (from importlib-resources>=1.0; python_version < "3.7"->virtualenv) (3.7.4.1)
Requirement already satisfied: scandir; python_version < "3.5" in /home/me/.local/lib/python2.7/site-packages (from pathlib2<3,>=2.3.3; python_version < "3.4" and sys_platform != "win32"->virtualenv) (1.10.0)

【问题讨论】:

  • 要你重装一下,你知道再输入pip install virtualenv
  • @Aditya 是的,我也试过了。我会发布输出以防提供任何线索
  • 您需要更改解释器,virtualenv 使用的是 python 2,而您的 virtualenv 需要/在 python3 中定义
  • 这不是同一个问题,但这里是同一个问题-您可能想看看解决方案stackoverflow.com/questions/48109956/…
  • 也许当你更新它改变的系统时,不要使用pip install virtualenv,而是使用python2 -m pip install virtualenv并运行create virtualenv with python2 pip not with python3 using python2 -m virtualenv &lt;rest of coomand&gt;然后激活那个环境然后运行项目/安装依赖项

标签: python virtualenv


【解决方案1】:

尝试以这种方式运行 pip:

$ python2 -m ensurepip --upgrade && python2 -m pip install --no-cache virtualenv

潜在原因:你有updated to Debian 11

Python 是一种高级、交互式的面向对象语言,它包含一个广泛的类库,其中包含许多用于网络编程、系统管理、声音和图形的好东西。 Debian 提供最新的稳定 Python 3 版本;它还提供了最新的稳定 Python 2 版本,但 Python 基金会自 2020 年 1 月 1 日起不再支持 Python 2,并且自 Debian 11(Bullseye)起已将其删除。它还可能提供其他版本以及大量第三方软件包。 Python 是 Debian 生态系统的重要组成部分。

【讨论】:

  • 应该是python2 -m ensurepip
  • 没错,感谢您注意到这一点!
猜你喜欢
  • 2020-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-11
  • 1970-01-01
相关资源
最近更新 更多