错误:安装eventlet时命令'gcc'失败,退出状态为1


202

我想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找不到?

Answers:


370

您的安装失败,因为您没有安装python开发标头。您可以通过在ubuntu / debian上通过apt来执行以下操作:

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。谢谢!
Alex Whittemore

56
对于fedora,您可以使用:sudo yum install python-devel
Java Xu

8
我建议sudo apt-get update在运行这两个命令之前先运行。我的出现错误sudo apt-get install python-dev
AliBZ 2013年

1
我有同样的错误,但是安装了python-devel,并且使用yum -y install updates更新了系统。.还有什么问题?
Gcap

如果使用Python 2.6:sudo apt-get install python2.6-dev
luismartingil 2014年


24

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
杰森目标'18

使用sudo yum install python34-devel用于Python 3.x作为另一种是只为蟒2.X
亚太区首席技术官Matt加尔格

18

对于Redhat版本(Centos 7),使用以下命令安装Python开发包

Python 2.7

须藤百胜安装python-dev

Python 3.4

须藤百胜安装python34-devel

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

须藤百胜安装python-devel

须藤yum install openssl-devel

sudo yum安装libffi-devel


1
No package python-dev available.我明白了
nish17年

1
@NishantKumar,您好,请确保您正在使用centos并为python2.x安装它。您也可以尝试“ sudo yum install python-devel”
Rahul Satal

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(相同.bashrczsh的),或者是因为我跑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

安装事件:

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

这是一篇旧文章,但我在安装regex的AWS EC2上遇到了同样的问题。这完全适合我

sudo yum -y install gcc

接下来

sudo yum -y install gcc-c++

1

MacOS上,我也有尝试安装的问题fbprophetgcc作为它的一个依赖。

在尝试了@ Boris建议的几个步骤之后,Facebook Prophet项目页面上的以下命令最终为我工作了。

conda install -c conda-forge fbprophet

它安装了所需的所有依赖项fbprophet。确保已安装anaconda。


谢谢!这个gcc导致了我很多安装问题,但我仍然没有解决,Boris步骤也对我不起作用,但是成功了。谢谢!
Shad

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

我正在使用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


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.