ошибка: команда 'gcc' завершилась неудачно с состоянием выхода 1 при установке Eventlet

135

Я хотел установить eventlet в своей системе, чтобы иметь "Herd" для развертывания программного обеспечения.. но на терминале отображается ошибка gcc:

  root@agrover-OptiPlex-780:~# easy_install -U eventlet
  Searching for eventlet
  Reading http://pypi.python.org/simple/eventlet/
  Reading http://wiki.secondlife.com/wiki/Eventlet
  Reading http://eventlet.net
   Best match: eventlet 0.9.16
    Processing eventlet-0.9.16-py2.7.egg
    eventlet 0.9.16 is already the active version in easy-install.pth

   Using /usr/local/lib/python2.7/dist-packages/eventlet-0.9.16-py2.7.egg
 Processing dependencies for eventlet
 Searching for greenlet>=0.3
Reading http://pypi.python.org/simple/greenlet/
Reading https://github.com/python-greenlet/greenlet
Reading http://bitbucket.org/ambroff/greenlet
Best match: greenlet 0.3.4
Downloading http://pypi.python.org/packages/source/g/greenlet/greenlet-   0.3.4.zip#md5=530a69acebbb0d66eb5abd83523d8272
Processing greenlet-0.3.4.zip
Writing /tmp/easy_install-_aeHYm/greenlet-0.3.4/setup.cfg
Running greenlet-0.3.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-_aeHYm/greenlet-0.3.4/egg-dist-tmp-t9_gbW
In file included from greenlet.c:5:0:
greenlet.h:8:20: fatal error: Python.h: No such file or directory
compilation terminated.
error: Setup script exited with error: command 'gcc' failed with exit status 1`

Почему не удается найти Python.h?

Теги:
eventlet

7 ответов

300
Лучший ответ

Ваша установка не работает, потому что у вас нет установленных заголовков разработки python. Вы можете сделать это с помощью ubuntu/debian с помощью:

sudo apt-get install python-dev 

для использования python3:

sudo apt-get install python3-dev

Для eventlet вам также могут понадобиться библиотеки libevent, поэтому, если вы получите сообщение об ошибке, вы можете установить libevent с помощью:

sudo apt-get install libevent-dev
  • 1
    FWIW, вам определенно нужны и python-dev, и libevent-dev. Спасибо!
  • 47
    Для fedora вы можете использовать: sudo yum install python-devel
Показать ещё 6 комментариев
17

Для fedora:

sudo yum install python-devel

sudo yum install libevent-devel

и, наконец:

easy_install gevent
  • 1
    на самом деле это будет sudo easy_install gevent ...
4

Для версий Redhat (Centos 7) Используйте команду ниже для установки пакета разработки Python

Python 2.7

sudo yum install python-dev

Python 3.4

sudo yum install python34-devel

Тем не менее, если ваша проблема не решена, попробуйте установить ниже пакетов -

sudo yum install libffi-devel

sudo yum install openssl-devel

  • 1
    No package python-dev available. Я получаю это.
  • 1
    Привет @NishantKumar. Убедитесь, что вы работаете с centos и устанавливаете его для python2.x. Вы также можете попробовать "sudo yum install python-devel"
Показать ещё 1 комментарий
2

Для openSUSE 42.1 Leap Linux используйте этот

sudo zypper install python3-devel
  • 0
    Добро пожаловать в стек переполнения. Обратите внимание, что это как комментарий, так и ответ. Под основными ответами есть ряд комментариев, которые описывают альтернативы для разных дистрибутивов Linux. Я понимаю, что вы пока не можете комментировать. Будьте осторожны, добавляя «ответы» на устоявшиеся вопросы, которые действительно являются «комментариями».
2

Для CentOS 7.2:

LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.2.1511 (Core) 
Release:    7.2.1511
Codename:   Core

Установить флажок:

sudo yum install python-devel
sudo easy_install -ZU eventlet

Информация о терминале:

[root@localhost ~]# easy_install -ZU eventlet
Searching for eventlet
Reading http://pypi.python.org/simple/eventlet/
Best match: eventlet 0.19.0
Downloading https://pypi.python.org/packages/5a/e8/ac80f330a80c18113df0f4f872fb741974ad2179f8c2a5e3e45f40214cef/eventlet-0.19.0.tar.gz#md5=fde857181347d5b7b921541367a99204
Processing eventlet-0.19.0.tar.gz
Running eventlet-0.19.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-Hh9GQY/eventlet-0.19.0/egg-dist-tmp-rBFoAx
Adding eventlet 0.19.0 to easy-install.pth file

Installed /usr/lib/python2.6/site-packages/eventlet-0.19.0-py2.6.egg
Processing dependencies for eventlet
Finished processing dependencies for eventlet
  • 0
    Когда я запускаю, выдает ошибку «невозможно выполнить gcc: нет такого файла или каталога»
  • 2
    @Sarang, что означает, что вы еще не установили gcc, выполните: "yum -y install gcc"
1

попробуйте следующее:

sudo apt-get install libblas-dev libatlas-base-dev

У меня была аналогичная проблема на Ubuntu 14.04. Для меня следующие пакеты Ubuntu

  • 0
    Это сработало для меня на Ubuntu 16.04
0

Построить из источника и установить, это исправлено в последней версии (10.3 +):

mkdir -p /tmp/install/netifaces/
cd /tmp/install/netifaces && wget -O "netifaces-0.10.4.tar.gz" "https://pypi.python.org/packages/source/n/netifaces/netifaces-0.10.4.tar.gz#md5=36da76e2cfadd24cc7510c2c0012eb1e"
tar xvzf netifaces-0.10.4.tar.gz
cd netifaces-0.10.4 && python setup.py install
Сообщество Overcoder
Наверх
Меню