2010-02-20 4 views
3

Je tente d'utiliser la bibliothèque gevent dans une application Python que j'écris. Cependant, easy_install et l'installation manuelle échouent. Aucune suggestion?Tentative d'utilisation de la bibliothèque gevent en Python: "ImportError: impossible d'importer le nom core"

Python 2.6.2 (r262:71600, Aug 5 2009, 10:31:21) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import gevent 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "gevent/__init__.py", line 28, in <module> 
    from gevent.greenlet import Greenlet, joinall, killall 
    File "gevent/greenlet.py", line 5, in <module> 
    from gevent import core 
ImportError: cannot import name core 
>>> 

La décharge complète de mes commandes "build" et "installer" sont:

(env)[[email protected]:downloads/gevent-0.10.0]# python setup.py build          (02-20 16:00) 
found system libevent for linux2 
running build 
running build_py 
creating build/lib.linux-i686-2.6 
creating build/lib.linux-i686-2.6/gevent 
copying gevent/rawgreenlet.py -> build/lib.linux-i686-2.6/gevent 
copying gevent/thread.py -> build/lib.linux-i686-2.6/gevent 
copying gevent/greenlet.py -> build/lib.linux-i686-2.6/gevent 
copying gevent/event.py -> build/lib.linux-i686-2.6/gevent 
copying gevent/hub.py -> build/lib.linux-i686-2.6/gevent 
copying gevent/util.py -> build/lib.linux-i686-2.6/gevent 
copying gevent/monkey.py -> build/lib.linux-i686-2.6/gevent 
copying gevent/__init__.py -> build/lib.linux-i686-2.6/gevent 
copying gevent/coros.py -> build/lib.linux-i686-2.6/gevent 
copying gevent/select.py -> build/lib.linux-i686-2.6/gevent 
copying gevent/wsgi.py -> build/lib.linux-i686-2.6/gevent 
copying gevent/socket.py -> build/lib.linux-i686-2.6/gevent 
copying gevent/queue.py -> build/lib.linux-i686-2.6/gevent 
copying gevent/pool.py -> build/lib.linux-i686-2.6/gevent 
copying gevent/timeout.py -> build/lib.linux-i686-2.6/gevent 
copying gevent/backdoor.py -> build/lib.linux-i686-2.6/gevent 
copying gevent/proc.py -> build/lib.linux-i686-2.6/gevent 
running build_ext 
building 'gevent.core' extension 
creating build/temp.linux-i686-2.6 
creating build/temp.linux-i686-2.6/gevent 
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/local/include/python2.6 -c gevent/core.c -o build/temp.linux-i686-2.6/gevent/core.o 
gevent/core.c: In function ‘__pyx_pf_6gevent_4core_get_header_version’: 
gevent/core.c:4360: warning: label ‘__pyx_L1_error’ defined but not used 
gevent/core.c: In function ‘__pyx_pf_6gevent_4core_reinit’: 
gevent/core.c:4419: warning: label ‘__pyx_L1_error’ defined but not used 
gcc -pthread -shared build/temp.linux-i686-2.6/gevent/core.o -levent -o build/lib.linux-i686-2.6/gevent/core.so 
(env)[[email protected]:downloads/gevent-0.10.0]# python setup.py install          (02-20 16:01) 
found system libevent for linux2 
running install 
running build 
running build_py 
running build_ext 
running install_lib 
creating /ews/test_project/env/lib/python2.6/site-packages/gevent 
copying build/lib.linux-i686-2.6/gevent/rawgreenlet.py -> /ews/test_project/env/lib/python2.6/site-packages/gevent 
copying build/lib.linux-i686-2.6/gevent/thread.py -> /ews/test_project/env/lib/python2.6/site-packages/gevent 
copying build/lib.linux-i686-2.6/gevent/greenlet.py -> /ews/test_project/env/lib/python2.6/site-packages/gevent 
copying build/lib.linux-i686-2.6/gevent/event.py -> /ews/test_project/env/lib/python2.6/site-packages/gevent 
copying build/lib.linux-i686-2.6/gevent/hub.py -> /ews/test_project/env/lib/python2.6/site-packages/gevent 
copying build/lib.linux-i686-2.6/gevent/util.py -> /ews/test_project/env/lib/python2.6/site-packages/gevent 
copying build/lib.linux-i686-2.6/gevent/monkey.py -> /ews/test_project/env/lib/python2.6/site-packages/gevent 
copying build/lib.linux-i686-2.6/gevent/__init__.py -> /ews/test_project/env/lib/python2.6/site-packages/gevent 
copying build/lib.linux-i686-2.6/gevent/coros.py -> /ews/test_project/env/lib/python2.6/site-packages/gevent 
copying build/lib.linux-i686-2.6/gevent/select.py -> /ews/test_project/env/lib/python2.6/site-packages/gevent 
copying build/lib.linux-i686-2.6/gevent/wsgi.py -> /ews/test_project/env/lib/python2.6/site-packages/gevent 
copying build/lib.linux-i686-2.6/gevent/socket.py -> /ews/test_project/env/lib/python2.6/site-packages/gevent 
copying build/lib.linux-i686-2.6/gevent/queue.py -> /ews/test_project/env/lib/python2.6/site-packages/gevent 
copying build/lib.linux-i686-2.6/gevent/pool.py -> /ews/test_project/env/lib/python2.6/site-packages/gevent 
copying build/lib.linux-i686-2.6/gevent/timeout.py -> /ews/test_project/env/lib/python2.6/site-packages/gevent 
copying build/lib.linux-i686-2.6/gevent/backdoor.py -> /ews/test_project/env/lib/python2.6/site-packages/gevent 
copying build/lib.linux-i686-2.6/gevent/proc.py -> /ews/test_project/env/lib/python2.6/site-packages/gevent 
copying build/lib.linux-i686-2.6/gevent/core.so -> /ews/test_project/env/lib/python2.6/site-packages/gevent 
byte-compiling /ews/test_project/env/lib/python2.6/site-packages/gevent/rawgreenlet.py to rawgreenlet.pyc 
byte-compiling /ews/test_project/env/lib/python2.6/site-packages/gevent/thread.py to thread.pyc 
byte-compiling /ews/test_project/env/lib/python2.6/site-packages/gevent/greenlet.py to greenlet.pyc 
byte-compiling /ews/test_project/env/lib/python2.6/site-packages/gevent/event.py to event.pyc 
byte-compiling /ews/test_project/env/lib/python2.6/site-packages/gevent/hub.py to hub.pyc 
byte-compiling /ews/test_project/env/lib/python2.6/site-packages/gevent/util.py to util.pyc 
byte-compiling /ews/test_project/env/lib/python2.6/site-packages/gevent/monkey.py to monkey.pyc 
byte-compiling /ews/test_project/env/lib/python2.6/site-packages/gevent/__init__.py to __init__.pyc 
byte-compiling /ews/test_project/env/lib/python2.6/site-packages/gevent/coros.py to coros.pyc 
byte-compiling /ews/test_project/env/lib/python2.6/site-packages/gevent/select.py to select.pyc 
byte-compiling /ews/test_project/env/lib/python2.6/site-packages/gevent/wsgi.py to wsgi.pyc 
byte-compiling /ews/test_project/env/lib/python2.6/site-packages/gevent/socket.py to socket.pyc 
byte-compiling /ews/test_project/env/lib/python2.6/site-packages/gevent/queue.py to queue.pyc 
byte-compiling /ews/test_project/env/lib/python2.6/site-packages/gevent/pool.py to pool.pyc 
byte-compiling /ews/test_project/env/lib/python2.6/site-packages/gevent/timeout.py to timeout.pyc 
byte-compiling /ews/test_project/env/lib/python2.6/site-packages/gevent/backdoor.py to backdoor.pyc 
byte-compiling /ews/test_project/env/lib/python2.6/site-packages/gevent/proc.py to proc.pyc 
running install_egg_info 
Writing /ews/test_project/env/lib/python2.6/site-packages/gevent-0.10.0-py2.6.egg-info 
(env)[[email protected]:downloads/gevent-0.10.0]# python              (02-20 16:01) 
Python 2.6.2 (r262:71600, Aug 5 2009, 10:31:21) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import gevent 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "gevent/__init__.py", line 28, in <module> 
    from gevent.greenlet import Greenlet, joinall, killall 
    File "gevent/greenlet.py", line 5, in <module> 
    from gevent import core 
ImportError: cannot import name core 
>>> 
+0

Le module est-il dans votre chemin de recherche? http://docs.python.org/install/index.html#inst-search-path – mre

+0

Oui, c'est le cas. Mais vous m'avez fait penser à regarder les fichiers qui ont été installés. J'ai un "core.so" mais pas "core.py" Je devine c'est pourquoi l'importation échoue? – jamieb

Répondre

1

L'erreur a été provoquée simplement en essayant d'exécuter un script à partir du répertoire source du projet. Changer pour n'importe quel autre répertoire et faire un "import" a bien fonctionné. More information here sur la liste de diffusion gevent.

+0

N'a pas travaillé ici. Voir: https://gist.github.com/alanjds/119f83a942b58629edc9. Des pensées? – alanjds

0

avoir répondu à votre question sur le mailing list.

BTW, utilisez-vous la version 0.10.0 de gevent? C'est ancien! La dernière en date est 0.12.0.

Questions connexes