gevent在Ubuntu上安装不成功

42 投票
4 回答
40719 浏览
提问于 2025-04-16 20:01

我想试试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 个回答

4

我成功地用“python的方式”通过pip安装了。下面是我做的事情:

我在某个地方看到,似乎Ubuntu的安装工具有问题。当你想安装一个软件包时,它会报错:

用户警告:未构建的egg文件,setuptools [未知版本] (/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,结果成功了。我之前也试过easy_install,但因为安装工具坏了,所以没法用。

sudo easy_install greenlet
sudo easy_install gevent

好了,现在已经是最新版本(截至目前是0.13.6)。

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
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/

撰写回答