web-dev-qa-db-ja.com

geventはUbuntuに正しくインストールされません

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

インストールが正常に機能していないと思われますが、何が間違っているのかわかりません。

41
FabienB

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/

65
zzart

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
16
Corey Goldberg

Pipを使用して「python方式」でインストールすることに成功しました。ここに私がやったことがあります:

Ubuntuのセットアップツールが壊れているようです。パッケージをインストールするとき、それは報告します

UserWarning:setuptools用のUnbuilt Egg [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引数を使用して2つのパッケージを再インストールしようとしました。助けにはなりませんでしたが、easy_installを試してみましたが、うまくいきました。 pipの前に試してみましたが、壊れたセットアップツールにより動作しませんでした。

Sudo easy_install greenlet
Sudo easy_install gevent

最新バージョン(現時点では0.13.6)を使用します。

4
FabienB

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
1