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


202

Я хотел установить eventletв своей системе, чтобы иметь «стадо» для развертывания программного обеспечения ... но терминал показывает ошибку 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найти?

Ответы:


370

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

sudo apt-get install python-dev 

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

sudo apt-get install python3-dev

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

sudo apt-get install libevent-dev

2
FWIW, вам определенно нужны и python-dev, и libevent-dev. Спасибо!
Алекс Уиттемор

56
Для fedora вы можете использовать:sudo yum install python-devel
Java Xu

8
Я предлагаю запустить sudo apt-get updateперед запуском этих 2 команд. Я получаю ошибку с sudo apt-get install python-dev.
AliBZ

1
У меня та же ошибка, но у меня установлен python-devel и система обновлена ​​с помощью yum -y install updates .. что еще может быть проблемой?
Gcap

При использовании Python 2.6:sudo apt-get install python2.6-dev
luismartingil


25

То, что работало для меня на CentOS, было:

sudo yum -y install gcc
sudo yum install python-devel

2
решил и мою проблему тоже. unable to execute 'gcc': No such file or directory error: command 'gcc' failed with exit status 1
Джейсон Гол

использовать sudo yum install python34-develдля Python 3.x, а другой только для Python 2.x
Hitesh Garg

18

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

Python 2.7

sudo yum установить python-dev

Python 3.4

sudo yum установить python34-devel

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

sudo yum установить python-devel

sudo yum install openssl-devel

sudo yum установить libffi-devel


1
No package python-dev available.Я получаю это.
Nishant

1
Привет @NishantKumar. Убедитесь, что вы работаете с centos и устанавливаете его для python2.x. Вы также можете попробовать "sudo yum install python-devel"
Рахул

1
@NishantKumar вы получаете это сообщение, потому что в centOS пакет python-dev находится под именем python-devel, так что используйтеyum install python-devel
MrRobot

15

На MacOS у меня были проблемы с установкой, fbprophetкоторая требует, pystanкоторая требует gccдля компиляции. Я бы последовательно получал ту же ошибку: команда «GCC» не удалось с состоянием выхода 1

Я думаю, что я решил проблему для себя так:

Я использовал brew install gccдля установки новейшей версии, которая оказаласьgcc-8

Тогда я убедился, что при gccзапуске он будет использовать gcc-8вместо этого.

Это либо сработало, потому что я добавил alias gcc='gcc-8в мой .zshrc(так же, как .bashrcдля zsh ), либо потому, что я бежал export PATH=/usr/local/bin:$PATH(см. Комментарий )

Кроме того : все мои попытки были в виртуальной среде, и мне удалось только установить fbprophetглобально (с помощью pip ), но все равно безуспешно внутри venv


4

попробуй это :

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

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


3

Для 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

Установить eventlet:

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

Когда я бегу, он дает мне ошибку «не удалось выполнить„GCC“: Нет такого файла или каталога»
Sarang Manjrekar

2
@Sarang, что означает, что вы еще не установили gcc, выполните: "yum -y install gcc"
Little Roys

3

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

sudo zypper install python3-devel

Добро пожаловать в стек переполнения. Обратите внимание, что это как комментарий, так и ответ. Под основными ответами есть ряд комментариев, которые описывают альтернативы для разных дистрибутивов Linux. Я понимаю, что вы пока не можете комментировать. Будьте осторожны, добавляя «ответы» на устоявшиеся вопросы, которые действительно являются «комментариями».
Джонатан Леффлер

3

Это старый пост, но я столкнулся с той же проблемой на AWS EC2 при установке regex. Это работает идеально для меня

sudo yum -y install gcc

и следующий

sudo yum -y install gcc-c++

1

На MacOS у меня также были проблемы при попытке установить, fbprophetчто было gccодной из его зависимостей.

После попытки выполнить несколько шагов в соответствии с рекомендациями @ Boris, команда, приведенная ниже на странице проекта Facebook Prophet, сработала для меня.

conda install -c conda-forge fbprophet

Установлены все необходимые зависимости для fbprophet. Убедитесь, что у вас установлена ​​анаконда.


Спасибо! Этот gcc вызывает у меня столько проблем с установкой, что я до сих пор не решил, и шаги по Борису у меня тоже не сработали, но это помогло. Спасибо!
Шед

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

0

Если это все еще не работает, вы можете попробовать это

sudo apt-get install build-essential

в моем случае это решило проблему.



0

Я использую MacOS Catalina 10.15.4 . Ни одно из опубликованных решений не сработало для меня. Что сработало для меня:

 >> xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates

>> env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip install psycopg2==2.8.4
Collecting psycopg2==2.8.4
  Using cached psycopg2-2.8.4.tar.gz (377 kB)
Installing collected packages: psycopg2
  Attempting uninstall: psycopg2
    Found existing installation: psycopg2 2.7.7
    Uninstalling psycopg2-2.7.7:
      Successfully uninstalled psycopg2-2.7.7
    Running setup.py install for psycopg2 ... done
Successfully installed psycopg2-2.8.4

используйте pip3 для python3



0

Эта страница спасет вашу жизнь от всех последующих проблем с библиотекой,

Для Alpine (> = 3,6)

использование apk --update --upgrade add gcc musl-dev jpeg-dev zlib-dev libffi-dev cairo-dev pango-dev gdk-pixbuf-dev

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.