在virtualenv中安装gevent

时间:2012-05-24 22:14:13

标签: python windows virtualenv gevent

我刚开始使用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')

有人知道怎么做吗?

3 个答案:

答案 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可以找到它。

  1. 我首先从http://libevent.org/下载最新的稳定来源。
  2. 使用自述文件中的说明编译并安装它:https://github.com/libevent/libevent#readme
  3. 要在Windows上编译它,您需要使用GNU样式的构建实用程序,如makeautoconf。我推荐http://www.mingw.org/

    一旦你在系统范围内安装了libevent,我想pip会找到它并继续进行gevent安装。

答案 2 :(得分:0)

在gevent-0.13.7的msi中,可以选择备用安装点。将它指向特定虚拟环境的根目录(就在/ Lib和/ Scripts所在的位置上方)。那应该正确安装。

您还需要确保已安装greenlets。为此,您可以在.exe。

上使用Piotr建议的方法和easy_install