web-dev-qa-db-fra.com

gevent ne s'installe pas correctement sur Ubuntu

Je veux expérimenter avec gevent , mais après l’avoir installé, je ne peux charger aucun module de gevent.

Les étapes d'installation sont les suivantes:

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

La configuration de l’environnement est Ubuntu 10.10 x86_64 GNU/Linux.

Lorsque j'essaie de faire un test simple, je reçois:

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

Je suspecte l’installation de ne pas faire ce qu’elle devrait, mais je ne sais pas ce qui ne va pas. 

41
FabienB

Sur Ubuntu 10.04 avec Python 2.6, je devais faire:

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

Au fait, beau tutoriel sur Gevent: http://sdiehl.github.com/gevent-tutorial/

64
zzart

Dans Ubuntu 10.10 (et ultérieur), gevent (et ses dépendances) est empaqueté dans les dépôts Ubuntu.

le 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

J'ai réussi à installer de manière "python" à l'aide de pip. Voici ce que j'ai fait:

J'ai lu quelque part qu'il semblerait que les outils d'installation d'Ubuntu soient cassés. Lorsque vous souhaitez installer un package, il indique

UserWarning: Unbuilt Egg pour setuptools [version inconnue] (/usr/lib/python2.6/dist-packages)

Ces commandes répare les outils de configuration:

Sudo rm -rf /usr/lib/python2.6/dist-packages/setuptools.Egg-info/
Sudo apt-get install --reinstall python-setuptools

Après cela, j'ai essayé de réinstaller les deux paquets avec l'argument --upgrade de pip. Cela n'a pas aidé, mais j'ai essayé easy_install et cela a fonctionné. Je l'avais essayé avant pip, mais les outils de configuration cassés l'empêchaient de fonctionner.

Sudo easy_install greenlet
Sudo easy_install gevent

Voilà, avec la dernière version (0.13.6 dès maintenant).

4
FabienB

J'ai essayé ce que zzart avait posté, mais j'ai toujours une erreur sur 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'")

Cela a résolu le problème:

Sudo pip install --upgrade setuptools pip
Sudo easy_install gevent
0
Sideshow Leonard