Сценарий установки завершен с ошибкой: команда 'x86_64-linux-gnu-gcc' завершилась неудачно с состоянием выхода 1


334

Когда я пытаюсь установить odoo-server, я получаю следующую ошибку:

error: Setup script exited with error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Может ли кто-нибудь помочь мне решить эту проблему?


3
Иногда стоит посмотреть строку над этой ошибкой. Он должен сказать вам, какой пакет отсутствует.
Дан-Классон

Для меня это было сочетание необходимости в python dev - "sudo apt install python3-dev" - и build-essential - "sudo apt install build-essential"
Maveric

Ответы:


306

Я столкнулся с той же проблемой в колледже, установив Linux Mint для основного проекта моего последнего года обучения. Третье решение, приведенное ниже, сработало для меня.

При возникновении этой ошибки обратите внимание, что перед ошибкой может быть указано, что вам не хватает пакета или заголовочного файла - вы должны найти их, установить их и проверить, работает ли он (например, ssl → libssl).

Для Python 2.x используйте:

$ sudo apt-get install python-dev

Для Python 2.7 используйте:

$ sudo apt-get install libffi-dev

Для Python 3.x используйте:

$ sudo apt-get install python3-dev

или для конкретной версии Python 3, замените xна младшую версию в

$ sudo apt-get install python3.x-dev

1
У меня есть комментарий здесь для Python 2 (2.7), который работает с sudo apt-get install libffi-dev, я согласен с python3-dev для решения py34, которое работало для меня.
Нихил Комавар

4
Помог для питона 3
viddik13

2
sudo apt-get install python3.6-dev решена для меня. потому что я обновился до 3,6
blockwala

4
Я дополнительно использую apt-get install build-essential для решения моей проблемы.
Самуэль Даузон

1
просто для добавления дополнительной информации, эта ошибка решена для меня с помощью ответов из этого QA -> [ stackoverflow.com/q/34819221/4417806]
Лорд ST

266

Python.h - это не что иное, как заголовочный файл. Он используется gcc для создания приложений. Вам необходимо установить пакет с именем python-dev. Этот пакет включает заголовочные файлы, статическую библиотеку и инструменты разработки для создания модулей Python, расширения интерпретатора Python или встраивания Python в приложения.

войти:

$ sudo apt-get install python-dev

или

# apt-get install python-dev

см. http://www.cyberciti.biz/faq/debian-ubuntu-linux-python-h-file-not-found-error-solution/


42
Это не решило проблему для меня:Reading state information... Done python-dev is already the newest version.
8bitjunkie

83
@SummerSun Если вы используете python3, вы должны использовать: $ sudo apt-get install python3-dev или $ sudo apt-get install python3.4-dev
Антуан Брунел,

@antoinet, но я использую Python 2.7.4 ... Я решил это давно, но я не помню какого-либо конкретного решения
Summer Sun

Определенно сработало для меня: Ubuntu 16.04 64-bit; zshell + tmux
Mr_Spock

1
Для python3.x используйте команду $ sudo apt-get install python3.x-dev
SolitaryReaper

184

Попробуйте установить эти пакеты.

sudo apt-get install build-essential autoconf libtool pkg-config python-opengl python-imaging python-pyrex python-pyside.qtopengl idle-python2.7 qt4-dev-tools qt4-designer libqtgui4 libqtcore4 libqt4-xml libqt4-test libqt4-script libqt4-network libqt4-dbus python-qt4 python-qt4-gl libgle3 python-dev libssl-dev

sudo easy_install greenlet

sudo easy_install gevent

2
я не нашел никакого разумного ответа о том, почему эта ошибка произошла! почему мы должны установить все эти пакеты ... если возможно, тогда, пожалуйста, объясните мне "x86_64-linux-gnu-gcc" не удалось "
Shashank

122
Да, один из этих пакетов мог бы это исправить, но было бы неплохо узнать, какой именно
Шейн Рустл

26
В моем случае было достаточно build-essential и python-dev.
Альфабраво

77
Проголосовал за то, что не ответил на вопрос. Почему я должен установить qt4-docs для решения этой проблемы?
Реджи

9
Для меня достаточно build-essential и python-dev
vinayrks

108

Вам необходимо установить эти пакеты:

sudo apt-get install libpq-dev python-dev libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev libffi-dev

2
Этот работал для меня. У меня были все пакеты Python и сборки из предыдущих ответов, мне не хватало этих пакетов lib * . СПАСИБО!
Shadyyx

1
Работал на void linux.
xaos_xv

Это, скорее всего , работать на чистых системах, но в моем случае все , что я отсутствовал на 3 пакета: libldap2-dev, libpq-devиlibsasl2-dev
Anas Tiour

Работал на Ubuntu 19.10 с Python 3.7
Малахи Базар

67
$ sudo apt-get install gcc
$ sudo apt-get install python-dateutil python-docutils python-feedparser python-gdata python-jinja2 python-ldap python-libxslt1 python-lxml python-mako python-mock python-openid python-psycopg2 python-psutil python-pybabel python-pychart python-pydot python-pyparsing python-reportlab python-simplejson python-tz python-unittest2 python-vatnumber python-vobject python-webdav python-werkzeug python-xlwt python-yaml python-zsi

ИЛИ ПОПРОБУЙТЕ ЭТО:

$ sudo apt-get install libxml2-dev libxslt1-dev

52

Для Python 3.4 используйте:

sudo apt-get install python3.4-dev

Для Python 3.5 используйте:

sudo apt-get install python3.5-dev

Для Python 3.6 используйте:

sudo apt-get install python3.6-dev

Для Python 3.7 используйте:

sudo apt-get install python3.7-dev

Для Python 3.8 используйте:

sudo apt-get install python3.8-dev

... и так далее ...


5
Как примечание, я просто использовал sudo, apt-get install python3.6-devи это тоже сработало.
Или Дуань

1
Мальчик, который был жестким - я установил все вышеупомянутое в моей системе, пока этот наконец не установил это для меня. Я использую virtualenv с python3.6. Спасибо вам за это.
SteveJ

Отлично!! Решено!
ambigus9

1
Я использую Python3.8sudo apt-get install python3.8-dev
Elinaldo Monteiro

38

Для меня ничего из вышеперечисленного не сработало. Однако я решил проблему с установкой libssl-dev.

sudo apt-get install libssl-dev

Это может работать, если у вас такое же сообщение об ошибке, как в моем случае:

фатальная ошибка: openssl / opensslv.h: нет такого файла или каталога ... .... команда 'x86_64-linux-gnu-gcc' завершилась неудачно с состоянием выхода 1


2
Я тоже. Принятый ответ кажется немного чрезмерным.
Эстебан

Это сработало и для меня, не загружая связку из принятого ответа
DanMossa

1
Обычно это та библиотека, которая отсутствует при установке пакета шифрования в python.
Поб

Это было проблемой для меня тоже. Я мог бы сказать это из строки стандартного вывода "src / pycurl.h: 164: 28: фатальная ошибка: openssl / ssl.h: такой файл или каталог не напечатан" перед печатью в этой статье "ошибка: команда" x86_64- Ошибка linux-gnu-gcc 'со статусом выхода 1 "
claudod


13

на Ubuntu 14.04:

sudo apt-file search ffi.h 

вернулся:

chipmunk-dev: /usr/include/chipmunk/chipmunk_ffi.h
ghc-doc: /usr/share/doc/ghc-doc/html/users_guide/ffi.html
jython-doc: /usr/share/doc/jython-doc/html/javadoc/org/python/modules/jffi/jffi.html
libffi-dev: /usr/include/x86_64-linux-gnu/ffi.h
libffi-dev: /usr/share/doc/libffi6/html/Using-libffi.html
libgirepository1.0-dev: /usr/include/gobject-introspection-1.0/girffi.h
libgirepository1.0-doc: /usr/share/gtk-doc/html/gi/gi-girffi.html
mlton-basis: /usr/lib/mlton/include/basis-ffi.h
pypy-doc: /usr/share/doc/pypy-doc/html/config/objspace.usemodules._ffi.html
pypy-doc: /usr/share/doc/pypy-doc/html/config/objspace.usemodules._rawffi.html
pypy-doc: /usr/share/doc/pypy-doc/html/rffi.html

Я решил установить libffi-dev

sudo apt-get install libffi-dev

работал отлично


2
Не только это решение помогло мне исправить мою ffi.hотсутствующую зависимость, но и помогло исправить другие отсутствующие зависимости. Спасибо!
Дарио

Это действительно помогло. Мне не хватало файла под названием pcrecpp.h. И пакет, который я должен был установить, был libpcre3-dev.
Джитендра Пуджари

9

В моем случае pipне удалось установить библиотеки, я пробовал решения, приведенные выше, но ни одна не работала, но ниже работал для меня:

sudo apt upgrade gcc

Обычно это происходит, когда мы не используем окружающую среду
yunus

7

Несмотря на старый вопрос, я добавлю свое мнение.

Я думаю, что правильный ответ зависит от сообщения об ошибке компилятора gcc, что-то вроде «Missing xxxx.h»

Это может помочь в некоторых случаях:

sudo apt-get install build-essential python-dev


5

Ошибка: ошибка: команда 'x86_64-linux-gnu-gcc' завершилась неудачно с состоянием выхода 1

Выполнение sudo apt-get install python-devрешило ошибку.


2
Или выполнение sudo apt-get install python3-dev.
Ecolell

4

Используя Ubuntu 14.04 LTS с virtualenvработающим Python 3.5, мне пришлось сделать:

sudo apt-get install python3.5-dev

Другие команды:

sudo apt-get install python-dev
sudo apt-get install python3-dev

Не помогло. Я думаю, что это потому, что virtualenvнужно полагаться на общесистемный python-devпакет, и он должен соответствовать virtualenvверсии Python. Тем не менее, использование вышеуказанных команд устанавливает python-devдля Python 2.x и Python 3.x, который поставляется с Ubuntu 14.04, который 3.4, а не 3.5.


4

Это работает для меня, 12.04, python2.7.6

sudo apt-get install libxml2 libxml2-dev libxslt1-dev
sudo apt-get install lxml

1
E: Unable to locate package lxml Я получаю следующее. :(
kRazzy R

@kRazzyR попробуй запустить sudo apt-get install python-lxmlкоманду
Кушан Гунасекера


3

После сегодняшнего обновления моего компьютера с помощью pip и проверки других ответов я могу сказать, что это НИЧЕГО. Вы должны проверить ошибку по ошибке, ища, какая именно библиотека вам нужна. В моем случае это были библиотеки, которые мне пришлось установить:

$ sudo apt-get install libssl-dev
$ sudo apt-get install libffi-dev
$ sudo apt-get install libjpeg-dev
$ sudo apt-get install libvirt-dev
$ sudo apt-get install libsqlite3-dev
$ sudo apt-get install libcurl4-openssl-dev
$ sudo apt-get install libxml2-dev libxslt1-dev python-dev

НТН


3

Совет : пожалуйста, не рассматривайте это как ответ. Просто чтобы помочь кому-то еще.

У меня была похожая проблема при установке psycopg2 . Я установил build-essential, python-devа также, libpq-devно он бросил ту же ошибку.

error: Setup script exited with error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Поскольку я спешил с развертыванием, то, наконец, просто скопировал полную строку из ответа @ user3440631.

sudo apt-get install build-essential autoconf libtool pkg-config python-opengl python-imaging python-pyrex python-pyside.qtopengl idle-python2.7 qt4-dev-tools qt4-designer libqtgui4 libqtcore4 libqt4-xml libqt4-test libqt4-script libqt4-network libqt4-dbus python-qt4 python-qt4-gl libgle3 python-dev

И это сработало как шарм. но не смог найти какой пакет решил мою проблему. Пожалуйста, обновите комментарий, если у кого-то есть представление о psycopg2пакете зависимостей сверху.


2
Я решил мою проблему с psycopg2 , установив пакет postgresql-devel в CentOS.
Фитолог

3
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Много времени я получил ту же ошибку при установке M2Crypto& pygraphvizи установлен все вещи уже в утвержденном ответе . Но эта нижняя строка также решила все мои проблемы с другими пакетами в утвержденном ответе .

sudo apt-get install libssl-dev swig
sudo apt-get install -y graphviz-dev

Этот swigпакет спас мне жизнь как решение для M2Cryptoи graphviz-devдля pygraphviz. Надеюсь, это кому-нибудь поможет.


2

Для меня я должен был убедиться, что использую правильную версию криптографии. У pip.freeze была и более старая версия, и однажды я использовал последнюю проблему, когда ее не было.


2

Для начала нужно выяснить, в чем была проблема. вы видите, что компилятор C вышел из строя, но вы еще не знаете, почему. прокрутите вверх, где вы получите исходную ошибку. в моем случае, пытаясь установить некоторые пакеты pip3, я нашел:

    Complete output from command /usr/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip-build-4u59c_8b/cryptography/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-itjeh3va-record/install-record.txt --single-version-externally-managed --compile --user:
    c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory

 #include <ffi.h>

                 ^

compilation terminated.

так что в моем случае мне нужно было установить libffi-dev.


1
Наверняка, эта ошибка компилятора, представленная в вопросе, очень относительна. Например, мой случай был таким же, как и у вас: я устанавливал bcryptчерез систему pip3, и результаты были довольно большими, и, наблюдая за первыми сообщениями pip3 install bcrypt, я понял, что это libffi-devбыл пакет, который вызывал все проблемы на следующих этапах процесса установки. Хорошо подмечено, друг :). Я надеюсь, что вы не против, если я дам несколько центов на ваш ответ, который для меня заслуживает лучшего рассмотрения. С уважением.
ivanleoncz

2
sudo apt-get install build-essential autoconf libtool pkg-config python-opengl python-imaging python-pyrex python-pyside.qtopengl idle-python2.7 qt4-dev-tools qt4-designer libqtgui4 libqtcore4 libqt4-xml libqt4-test libqt4-script libqt4-network libqt4-dbus python-qt4 python-qt4-gl libgle3 python-dev

sudo easy_install greenlet

sudo easy_install gevent

1

Ни один из приведенных выше ответов не сработал для меня, когда у меня возникла та же проблема на моем Ubuntu 14.04

Тем не менее, это решило ошибку:

sudo apt-get install python-numpy libicu-dev


Odooне зависит от python-numpy.
Кенли

Это единственное решение,
Мухаммед Хасан

1

Для меня это помогло установить libxml2-devи libxslt1-dev.

sudo apt-get install libxml2-dev

1

Мой стек был таким:

> >                            ^
> >     In file included from /usr/include/openssl/ssl.h:156:0,
> >                      from OpenSSL/crypto/x509.h:17,
> >                      from OpenSSL/crypto/crypto.h:17,
> >                      from OpenSSL/crypto/crl.c:3:
> >     /usr/include/openssl/x509.h:751:15: note: previous declaration of X509_REVOKED_dup was here
> >      X509_REVOKED *X509_REVOKED_dup(X509_REVOKED *rev);
> >                    ^
> >     error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
> >     
> >     ----------------------------------------   Rolling back uninstall of > pyOpenSSL Command "/home/marta/env/pb/bin/python -u -c
> "import setuptools,
> > tokenize;__file__='/tmp/pip-build-14ekWY/pyOpenSSL/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n',
> > '\n');f.close();exec(compile(code, __file__, 'exec'))" install
> > --record /tmp/pip-2HERvW-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/marta/env/pb/include/site/python2.7/pyOpenSSL" failed with error
> > code 1 in /tmp/pip-build-14ekWY/pyOpenSSL/

в этом же случае, пожалуйста, рассмотрите опечатку (ошибку) в одном из установочных файлов и отредактируйте ее вручную, изменив «X509_REVOKED_dup» на «X509_REVOKED_dupe» (без кавычек). Я отредактировал файл x509.h:

sed -e's / X509_REVOKED_dup / X509_REVOKED_dupe / g '-i usr / include / openssl / x509.h

и это сработало для меня, но, пожалуйста, обратитесь к посту, связанному ниже, так как они отредактировали другой файл:

sed -e's / X509_REVOKED_dup / X509_REVOKED_dupe / g '-i OpenSSL / crypto / crl.c

https://groups.google.com/forum/#!topic/kivy-users/Qt0jNIOACZc


1

В моем случае команда sudo apt-get install unixodbc-devразрешила проблему. Я получаю сообщение об ошибке, относящееся к заголовочному файлу sql.h.


0

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

Python 2.7

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

Python 3.4

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

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

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

sudo yum install openssl-devel


0

Как говорит Робин Уинслоу в комментарии:

Я нашел свое решение здесь: stackoverflow.com/a/5178444/613540

В моем случае мое полное сообщение об ошибке было:

/usr/bin/ld: cannot find -lz 
collect2: error: ld returned 1 exit status
error: Setup script exited with error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Я пытался установить Torrench :

sudo python3 setup.py install

Используя данную ссылку на стек, я решаю эту проблему следующим образом:

sudo apt install zlib1g-dev

Обратите внимание, что следующие пакеты уже были установлены:

libxslt1-dev is already the newest version.
python3-dev is already the newest version.
libxml2-dev is already the newest version.

Надеюсь, что это поможет!


0

В моем случае это было oursqlпричиной той же (общей) ошибки, как показано ниже.

In file included from oursqlx/oursql.c:236:0:
  oursqlx/compat.h:13:19: fatal error: mysql.h: No such file or directory
  compilation terminated.
  error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

  ----------------------------------------
  Failed building wheel for oursql
  Running setup.py clean for oursql

Итак, я знал, что мне нужно иметь libmysqlcppconn-devпакет.

sudo apt-get install libmysqlcppconn-dev

И все хорошо!


Что касается общего замечания, я позже проверил файл setup.py пакета oursql и обнаружил, что он использует mysqld, и поэтому я установил sudo apt-get install libmysqld-devего, и он работал на меня.
Джей Моди

Решение macOS для проблем с установкой нашего сервера: askubuntu.com/questions/663919/…
Jay Modi,

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