安装脚本退出,并显示错误:命令'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
有时,这是您应该查看的此错误上方的行。它应该告诉您缺少哪些软件包。
dan-klasson

对我来说,这是需要python dev-“ sudo apt install python3-dev”和build-essential-“ sudo apt install build-essential”的组合
Maveric

Answers:


305

我在大学的最后一年的主要项目中安装了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
我在这里对适用于sudo apt-get install libffi-dev的python 2(2.7)进行了评论,我将同意适用于py34解决方案的python3-dev。
nikhil komawar '16

4
帮助python 3
viddik13 '16

2
sudo apt-get install python3.6-dev为我解决了。因为我更新为3.6
Blockwala

4
我还使用apt-get install build-essential解决了我的问题。
塞缪尔·道祖

1
只是为了添加更多信息,此错误通过此质量检查的答案为我解决了-> [ stackoverflow.com/q/34819221/4417806]
ST勋爵

265

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/


41
这并没有为我解决问题:Reading state information... Done python-dev is already the newest version.
8bitjunkie 2015年

83
@SummerSun如果您使用的是python3,则应使用:$ sudo apt-get install python3-dev或$ sudo apt-get install python3.4-dev
Antoine Brunel

@antoinet但我正在使用python 2.7.4 ...我很久以前就解决了这个问题,但是我不记得有任何具体的解决方案
Summer Sun

绝对对我有用:Ubuntu 16.04 64位;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 2015年

122
是的,这些软件包之一可能会修复它,但是很高兴知道其中一个软件包
Shane Reustle 2015年

26
就我而言,build-essential和python-dev就足够了。
Alfabravo 2015年

77
因不回答这个问题而感到沮丧。为什么必须安装qt4-docs才能解决此问题?
雷吉2015年

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和build软件包,但我缺少了这些lib *软件包。谢谢!
shadyyx

1
在无效的Linux上工作。
xaos_xv

:该清洁系统将最有可能的工作,但在我的情况下,所有我缺少的是3个包libldap2-devlibpq-dev以及libsasl2-dev
阿纳斯Tiour

适用于使用Python 3.7的Ubuntu 19.10
Malachi Bazar

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

51

对于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
那个坚强的男孩-我在系统上安装了上面提到的所有内容,直到最终为我解决了。我正在使用带有python3.6的virtualenv。谢谢你
史蒂夫·J

完善!!解决了!
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
我也是。公认的答案似乎有点过头了。
Esteban

这对我也有效,而不必从公认的答案中下载一堆
DanMossa,2016年

1
当我在python中安装加密程序包时,通常缺少该库。
Pobe

这也是我的问题。我可以从stdout行“ src / pycurl.h:164:28:致命错误:openssl / ssl.h:没有这样的文件或目录”中分辨出来,就在此帖子“错误:command'x86_64- linux-gnu-gcc'失败,退出状态为1“
claudod18年


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
Jeetendra Pujari

8

在我pip无法安装库的情况下,我尝试了上面给出的解决方案,但没有一个起作用,但下面的对我有效:

sudo apt upgrade gcc

通常当我们不使用环境时会发生这种情况
yunus

7

尽管是一个老问题,我还是会加我的意见。

我认为正确的答案取决于gcc编译器的错误消息,例如“缺少xxxx.h”

在某些情况下这可能会有所帮助:

sudo apt-get install build-essential python-dev

5

以下答案对我有用,您可以尝试:

sudo apt-get install python3-lxml

对于python2:sudo apt-get install python-lxml
Ajeet Shah's

5

错误:错误:命令“ x86_64-linux-gnu-gcc”失败,退出状态为1

执行sudo apt-get install python-dev解决了该错误。


2
或执行sudo apt-get install python3-dev
ecolell '18年

4

virtualenv运行Python 3.5的情况下使用Ubuntu 14.04 LTS ,我必须这样做:

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和Ubuntu 14.04随附的python 3.x(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命令
Kushan Gunasekera


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-essentialpython-devlibpq-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
我已经通过在CentOS上安装postgresql-devel软件包解决了psycopg2问题。
物理学家

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

很多时间,我在安装M2Cryptopygraphviz并安装批准的答案中提到的所有内容时遇到相同的错误。但这行也解决了我在批准的答案中使用其他软件包的所有问题。

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

swig包救了我的生命,为解决方案M2Cryptographviz-devpygraphviz。希望对您有所帮助。


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通过via 安装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
肯利,2016年

这是在Ubuntu 16.04中对我有用的唯一解决方案
Muhammad Hassan

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

须藤百胜安装python-dev

Python 3.4

须藤百胜安装python34-devel

如果您的问题仍未解决,请尝试安装以下软件包-

sudo yum安装libffi-devel

须藤yum install openssl-devel


0

就像罗宾·温斯洛Robin Winslow)在评论中说的那样:

我在这里找到了解决方案: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

使用给定的stackoverflow链接,我可以通过以下方法解决此问题:

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

一切都很好!


一般而言,我后来检查了oursql包的setup.py文件,发现它使用mysqld,因此我安装了sudo apt-get install libmysqld-dev它并为我工作。
杰伊·莫迪'18

MacOS的解决方案oursql安装问题:askubuntu.com/questions/663919/...
杰伊莫迪

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.