gevent не устанавливается должным образом в Ubuntu - PullRequest
41 голосов
/ 21 июня 2011

Я хочу поэкспериментировать с 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 ]

65 голосов
/ 03 апреля 2012

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

16 голосов
/ 22 июня 2011

В 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
4 голосов
/ 23 июня 2011

Мне удалось установить "python way" с помощью pip.Вот что я сделал:

Я где-то читал, что кажется, что инструменты установки Ubuntu сломаны.Когда вы хотите установить пакет, он сообщает

UserWarning: Unbuilt 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, и это сработало.Я пробовал это до pip, но сломанные инструменты установки не позволяли ему работать.

sudo easy_install greenlet
sudo easy_install gevent

Ну вот, с последней версией (на данный момент 0.13.6).

0 голосов
/ 13 июля 2018

Попробовал то, что написал 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
...