我刚开始使用virtualenv,但我正在尝试在virtualenv环境中安装gevent(我正在运行Windows)。当我使用virtualenv的PIP时,我收到了这个错误:
MyEnv>pip install gevent
Downloading/unpacking gevent
Running setup.py egg_info for package gevent
Please provide path to libevent source with --libevent DIR
软件包索引有用于在Windows上安装的MSI和EXE(http://pypi.python.org/pypi/gevent/0.13.7),但我不知道如何将它们安装到virtualenv环境中(或者如果这是可能的话)。当我从virtualenv提示尝试pip install gevent-0.13.7.win32-py2.7.exe
时,我也会收到错误:
ValueError: ('Expected version spec in', 'D:\\Downloads\\gevent-0.13.7.win32-py2.7.exe', 'at', ':\\Downloads\\gevent-0.13.7.win32-py2.7.exe')
有人知道怎么做吗?
答案 0 :(得分:3)
Pip不支持安装二进制包。如果要从二进制包安装,则必须使用easy_install - easy_install gevent-0.13.7.win32-py2.7.exe
Microsoft Windows XP [Wersja 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
Z:\>virtualenv z:\venv\gevent-install
New python executable in z:\venv\gevent-install\Scripts\python.exe
Installing distribute..................................................................................................
............................................................................................done.
Installing pip.................done.
Z:\>venv\gevent-install\Scripts\activate
(gevent-install) Z:\>easy_install c:\python\packages\gevent-0.13.7.win32-py2.7.exe
Processing gevent-0.13.7.win32-py2.7.exe
creating 'c:\docume~1\pdobro~1\ustawi~1\temp\easy_install-b5nj3i\gevent-0.13.7-py2.7-win32.egg' and adding 'c:\docume~1
pdobro~1\ustawi~1\temp\easy_install-b5nj3i\gevent-0.13.7-py2.7-win32.egg.tmp' to it
creating z:\venv\gevent-install\lib\site-packages\gevent-0.13.7-py2.7-win32.egg
Extracting gevent-0.13.7-py2.7-win32.egg to z:\venv\gevent-install\lib\site-packages
Adding gevent 0.13.7 to easy-install.pth file
Installed z:\venv\gevent-install\lib\site-packages\gevent-0.13.7-py2.7-win32.egg
Processing dependencies for gevent==0.13.7
Searching for greenlet
Reading http://pypi.python.org/simple/greenlet/
Reading http://bitbucket.org/ambroff/greenlet
Reading https://github.com/python-greenlet/greenlet
Best match: greenlet 0.3.4
Downloading http://pypi.python.org/packages/2.7/g/greenlet/greenlet-0.3.4-py2.7-win32.egg#md5=9941aa246358c586bb274812e
130629
Processing greenlet-0.3.4-py2.7-win32.egg
creating z:\venv\gevent-install\lib\site-packages\greenlet-0.3.4-py2.7-win32.egg
Extracting greenlet-0.3.4-py2.7-win32.egg to z:\venv\gevent-install\lib\site-packages
Adding greenlet 0.3.4 to easy-install.pth file
Installed z:\venv\gevent-install\lib\site-packages\greenlet-0.3.4-py2.7-win32.egg
Finished processing dependencies for gevent==0.13.7
(gevent-install) Z:\>
请参阅Can I install Python windows packages into virtualenvs?另一个选项是从源代码安装,你可以用pip来完成这个,但这需要设置编译器和环境,这比上面的简单命令要难得多。
答案 1 :(得分:0)
从错误消息中,您似乎需要解放源代码。我想你需要更进一步,编译/安装libevent系统范围,所以pip可以找到它。
要在Windows上编译它,您需要使用GNU样式的构建实用程序,如make
和autoconf
。我推荐http://www.mingw.org/。
一旦你在系统范围内安装了libevent,我想pip会找到它并继续进行gevent
安装。
答案 2 :(得分:0)
在gevent-0.13.7的msi中,可以选择备用安装点。将它指向特定虚拟环境的根目录(就在/ Lib和/ Scripts所在的位置上方)。那应该正确安装。
您还需要确保已安装greenlets。为此,您可以在.exe。
上使用Piotr建议的方法和easy_install