3

我刚开始使用 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 环境中(或者如果是甚至可能)。当我pip install gevent-0.13.7.win32-py2.7.exe从 virtualenv 提示中尝试时,我也收到一个错误:

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')

有人知道该怎么做吗?

4

3 回答 3

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:\>

请参阅我可以将 Python Windows 包安装到 virtualenvs 中吗?另一种选择是从源代码安装,您可以使用 pip 执行此操作,但这需要设置编译器和环境,这比上面的简单命令要困难得多。

于 2012-05-25T08:54:35.330 回答
0

从错误消息来看,您似乎需要 libevent 源代码。我想您需要更进一步并在系统范围内编译/安装 libevent,以便 pip 可以找到它。

  1. 我将从http://libevent.org/下载最新的稳定源代码开始。
  2. 使用 README 中的说明编译和安装它:https ://github.com/libevent/libevent#readme

要在 Windows 上编译它,您需要使用 GNU 风格的构建实用程序,例如makeautoconf. 我推荐http://www.mingw.org/

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

于 2012-05-24T22:27:11.473 回答
0

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

您还需要确保安装了greenlets。为此,您可以在 .exe 上使用 Piotr 建议的方法和 easy_install。

于 2012-05-30T06:32:30.013 回答