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

Anu*_*ver 187 python ubuntu eventlet

我想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`
Run Code Online (Sandbox Code Playgroud)

为什么Python.h找不到?

Tre*_*vor 356

您的安装失败,因为您没有安装python开发头.你可以通过ubuntu/debian上的apt来做到这一点:

sudo apt-get install python-dev 
Run Code Online (Sandbox Code Playgroud)

用于python3:

sudo apt-get install python3-dev
Run Code Online (Sandbox Code Playgroud)

对于eventlet,您可能还需要安装libevent库,因此如果您在讨论时遇到错误,可以使用以下命令安装libevent:

sudo apt-get install libevent-dev
Run Code Online (Sandbox Code Playgroud)

  • 对于fedora,您可以使用:`sudo yum install python-devel` (52认同)
  • 我建议在运行这两个命令之前运行`sudo apt-get update`.我在使用`sudo apt-get install python-dev`时遇到错误. (8认同)
  • FWIW,你肯定需要 python-dev 和 libevent-dev。谢谢! (3认同)
  • yum 安装 python3-devel (2认同)

Sne*_*mar 45

对于Fedora:

sudo yum install python-devel

sudo yum install libevent-devel
Run Code Online (Sandbox Code Playgroud)

最后:

sudo easy_install gevent
Run Code Online (Sandbox Code Playgroud)


Nis*_*mar 20

我尝试了以上所有答案.但对我来说有用的CentOS:

sudo yum -y install gcc
sudo yum install python-devel
Run Code Online (Sandbox Code Playgroud)

  • 对于 python 3.x 使用 `sudo yum install python34-devel`,因为另一个仅适用于 python 2.x (3认同)
  • 也解决了我的问题。“无法执行'gcc':没有此类文件或目录错误:命令'gcc'失败,退出状态为1” (2认同)

Rah*_*tal 16

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

Python 2.7

sudo yum安装python-dev

Python 3.4

sudo yum安装python34-devel

如果您的问题没有解决,请尝试安装以下包 -

sudo yum安装python-devel

sudo yum安装openssl-devel

sudo yum安装libffi-devel

  • “没有可用的 python-dev 包。”我明白了。 (3认同)
  • 如果您使用的是 python3.6,则“yum install python36-devel”将起作用。 (3认同)

Bor*_*hik 11

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中仍然没有成功


小智 7

如果还是不行,你可以试试这个

sudo apt-get install build-essential
Run Code Online (Sandbox Code Playgroud)

就我而言,它解决了问题。


Pio*_*trK 6

这是一篇旧帖子,但我在安装正则表达式的 AWS EC2 上遇到了同样的问题。这对我来说完美无缺

sudo yum -y install gcc
Run Code Online (Sandbox Code Playgroud)

接下来

sudo yum -y install gcc-c++
Run Code Online (Sandbox Code Playgroud)


HIS*_*ISI 5

尝试这个 :

sudo apt-get install libblas-dev libatlas-base-dev
Run Code Online (Sandbox Code Playgroud)

我在 Ubuntu 14.04 上遇到了类似的问题。对我来说以下 Ubuntu 软件包


小智 5

MacOS的我也有尝试安装问题,fbprophet其中有gcc作为它的一个依赖。

在尝试了@ Boris推荐的几个步骤之后,来自Facebook Prophet 项目页面的以下命令最终对我有用。

conda install -c conda-forge fbprophet
Run Code Online (Sandbox Code Playgroud)

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