2011-06-21 100 views
41

我想用gevent進行試驗,但安裝完後我無法加載任何gevent模塊。gevent在Ubuntu上安裝不正確

安裝步驟如下:

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 

我懷疑安裝沒有做它應該,但我不知道自己做錯了什麼。

回答

62

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

+2

也適用於Ubuntu 14.04 – liangzan

16

在Ubuntu 10.10(及更高版本)中,gevent(和依賴關係)打包在Ubuntu存儲庫中。

在11.04:

$ sudo apt-get install python-gevent 
... 
$ python 
[email protected]:~$ 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 
+0

這是正確的,但它不是最新的。版本庫的v0.13.0版本的日期從2010年7月...一年前。 – FabienB

4

我設法成功在 「巨蟒方式」 使用PIP進行安裝。以下是我所做的:

我在某處看到,似乎Ubuntu的安裝工具已損壞。當你想安裝一個軟件包,它報告

UserWarning:未建雞蛋爲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,它工作。我曾經在pip之前嘗試過,但破解的設置工具阻止了它的工作。

sudo easy_install greenlet 
sudo easy_install gevent 

在那裏,用最新版本(0.13.6截至目前)。