直到最近才出现这个问题,但是在尝试创建一个新的虚拟环境时(Windows 7,python 2.7.13,virtualenv == 15.1.0),它只是挂在"安装setuptools,pip,wheel ..."并做一个crtl ^ c给你这个:
PS C:\Users\John\Envs> virtualenv.exe rmapvenv
New python executable in C:\Users\John\Envs\test\Scripts\python.exe
Installing setuptools, pip, wheel...done.
Traceback (most recent call last):
File "c:\python27\lib\runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "c:\python27\lib\runpy.py", line 72, in _run_code
exec code in run_globals
File "C:\Python27\Scripts\virtualenv.exe\__main__.py", line 9, in <module>
File "c:\python27\lib\site-packages\virtualenv.py", line 713, in main
symlink=options.symlink)
File "c:\python27\lib\site-packages\virtualenv.py", line 945, in create_environment
download=download,
File "c:\python27\lib\site-packages\virtualenv.py", line 901, in install_wheel
call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT)
File "c:\python27\lib\site-packages\virtualenv.py", line 769, in call_subprocess
line = stdout.readline()
KeyboardInterrupt
在virtualenv.py中添加一些打印语句给我这个:
Running command C:\Users\John\Envs\test\Scripts\python.exe - setuptools pip wheel
Collecting setuptools
Using cached setuptools-35.0.1-py2.py3-none-any.whl
Collecting pip
Collecting wheel
似乎挂在了车轮上
答案 0 :(得分:9)
使用-v
开关获取详细输出。
对我来说,这是一个网络连接。具体来说,我试图使用virtualenv
的服务器是从互联网上防火墙的,我需要通过代理服务器离开。除此之外,virtualenv似乎不尊重环境中的代理设置,也没有命令行切换。
因此,使用pip
预先缓存/预先下载所需的3个包:
sudo pip download setuptools pip wheel --proxy http://<yourproxyhere>
然后您可以运行virtualenv
,它将使用您刚刚下载的缓存包。
答案 1 :(得分:2)
一切似乎都围绕着车轮而不是安装,所以如果有人能够解释这一点,请做。这就是我为安装它所做的。我跑了:
virtualenv venv --no-wheel
然后,激活我的虚拟环境并运行:
pip install --upgrade pip
pip install setuptools --no-use-wheel --upgrade
pip install wheel --no-cache
据我所知,一切正常
答案 2 :(得分:1)
我也遇到了这个问题,上面的答案都不起作用。原来是一个错误的缓存条目。
使用$ virtualenv -vv venv
,我将得到以以下结尾的输出:
Running command /Users/ghartmann/cod...test/venv/bin/python - setuptools pip wheel
Collecting setuptools
Cache entry deserialization failed, entry ignored
它会在那里阻塞,然后当您中断时,您会看到堆栈表明它被阻止下载wheel
软件包。
在macOS上,点子缓存位于:~/Library/Caches/pip
。
删除该目录解决了该问题,因为它可以重新初始化缓存。
答案 3 :(得分:0)
我不确定它是否会有所帮助,但我遇到了完全相同的问题,尽管是在linux debian(确切地说是raspbian Jessie light)和python 3.6。轮子在创建virtualenv时被绞死,我在ctrl-c(使用python 3.6和linux路径)后得到了与你相同的错误消息。然后我解除了互联网连接问题,解决了这些问题后,正确安装了车轮。
答案 4 :(得分:0)
我正在使用pipenv安装venv:
$ pipenv install
Creating a virtualenv for this project…
Pipfile: /home/seba/Sources/neogeo/grandlyon/photon-setup/Pipfile
Using /usr/bin/python3 (3.6.7) to create virtualenv…
⠦ Creating virtual environment...
详细模式无法提供更多信息,--clear
没有用,但是使用ps auxf
时,我发现oython进程什么也没等待:
[...] S+ 09:59 0:00 | | \_ /home/seba/Sources/neogeo/grandlyon/photon-setup/venv/bin/python3 - setuptools pip wheel
它停止安装setuptools。
像往常一样创建一个virtualenv证实了这一点:
$ virtualenv -vv --python=python3 venv
[...]
Running command /home/seba/Sources/n...tup/venv/bin/python3 - setuptools pip wheel
Looking in links: /usr/local/lib/python3.6/dist-packages/virtualenv_support
Collecting setuptools
[Waiting forever]
此修复程序删除了点子缓存:
$ rm -Rf ~/.cache/pip/ ~/.cache/pip-tools/
答案 5 :(得分:0)
我在使用pipenv
的公司防火墙后面。即使Pipfile
指向我们的本地软件包索引(不是PyPi),pip
调用的pipenv
仍在尝试使用PyPi并挂在
/home/eric/.local/share/virtualenvs/venv/bin/python - setuptools pip wheel
对我来说,解决方案是在pip.conf
中设置索引URL或使用PIP_INDEX_URL
环境变量,例如:
PIP_INDEX_URL=http://my.corporate.index/simple pipenv lock