gevent在Ubuntu上安装不成功

42

我想尝试使用gevent,但在安装后无法加载任何gevent模块。

安装步骤如下:

sudo apt-get install libevent-dev
sudo pip install greenlet
sudo pip install gevent

环境设置是Ubuntu 10.10 x86_64 GNU / Linux。

当我尝试进行简单测试时,出现以下情况:

>>> import gevent
>>> from gevent import socket
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name socket

我怀疑安装没有达到预期效果,但我不确定出了什么问题。

4个回答

66

在Ubuntu 10.04上使用Python 2.6,我需要执行以下操作:

apt-get install libevent-dev
apt-get install python-all-dev
easy_install greenlet
easy_install gevent 

顺便说一句,Gevent的教程很好:http://sdiehl.github.com/gevent-tutorial/


16
在Ubuntu 10.10及更高版本中,gevent(及其依赖项)已打包到Ubuntu存储库中。
在11.04上:
$ sudo apt-get install python-gevent
...
$ python
corey@lenovo:~$ python
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53) 
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import gevent
>>> from gevent import socket
>>> print gevent.__version__
0.13.0

没错,虽然它不是最新的。该代码库的v0.13.0版本可以追溯到2010年7月...已经一年了。 - FabienB

4
我成功地使用pip“Python方式”安装了。以下是我所做的:
我在某个地方读到,似乎Ubuntu的设置工具是损坏的。当您想要安装一个包时,它会报告 “UserWarning: Unbuilt egg for setuptools [unknown version] (/usr/lib/python2.6/dist-packages)”
这些命令可以修复设置工具:
sudo rm -rf /usr/lib/python2.6/dist-packages/setuptools.egg-info/
sudo apt-get install --reinstall python-setuptools

之后,我尝试使用pip的--upgrade参数重新安装这两个包。但是它没有起作用,然后我尝试了easy_install,它成功了。在使用pip之前,我就已经尝试过easy_install,但是由于安装程序出现问题,所以它无法正常工作。

sudo easy_install greenlet
sudo easy_install gevent

现在最新版本为0.13.6。


3

尝试了zzart发布的方法,但在Ubuntu Trusty Tahr (14.04)上仍然出现错误:

File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2583, in scan_list
    "Expected ',' or end-of-list in",line,"at",line[p:]
ValueError: ("Expected ',' or end-of-list in", "cffi >= 1.11.5 ; sys_platform == 'win32' and platform_python_implementation == 'CPython'", 'at', " ; sys_platform == 'win32' and platform_python_implementation == 'CPython'")

这样做解决了问题:

sudo pip install --upgrade setuptools pip
sudo easy_install gevent

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接