2012-06-19 11 views
148

Tôi muốn cài đặt eventlet trên hệ thống của tôi để có "Herd" cho việc triển khai phần mềm .. nhưng nhà ga đang hiển thị một lỗi gcc:lỗi: lệnh 'gcc' thất bại với trạng thái thoát 1 trong khi cài đặt eventlet

[email protected]:~# 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` 

Tại sao không thể tìm thấy Python.h?

Trả lời

310

Cài đặt của bạn không thành công vì bạn không cài đặt tiêu đề phát triển python. Bạn có thể làm điều này thông qua apt trên ubuntu/debian với:

sudo apt-get install python-dev 

để sử dụng python3:

sudo apt-get install python3-dev 

Đối eventlet bạn cũng có thể cần các thư viện libevent cài đặt vì vậy nếu bạn nhận được một lỗi nói về điều đó bạn có thể cài đặt libevent với:

sudo apt-get install libevent-dev 
+1

FWIW, chắc chắn bạn cần cả python-dev và libevent-dev. Cảm ơn! –

+34

Đối với fedora, bạn có thể sử dụng: 'sudo yum install python-devel' –

+6

Tôi khuyên bạn nên chạy' sudo apt-get update' trước khi chạy 2 lệnh này. Tôi đã nhận được lỗi với 'sudo apt-get install python-dev'. – AliBZ

22

Đối với fedora:

sudo yum install python-devel 

sudo yum install libevent-devel 

và cuối cùng là:

easy_install gevent 
+0

nó sẽ thực sự là 'sudo easy_install gevent' ... – NerdOfCode

0

xây dựng từ nguồn về và cài đặt, điều này được cố định trong phiên bản mới nhất (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 
2

Đối với 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 

Cài đặt eventlet:

sudo yum install python-devel 
sudo easy_install -ZU eventlet 

thông tin Terminal:

[[email protected] ~]# 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 
+0

Khi tôi chạy, nó cho tôi lỗi " không thể thực hiện 'gcc': Không có tệp hoặc thư mục " – Sarang

+2

@Sarang nào có nghĩa là bạn chưa cài đặt gcc, thực thi : "yum -y install gcc" –

2

Đối openSUSE 42.1 Leap Linux sử dụng này

sudo zypper install python3-devel 
+0

Chào mừng bạn đến với Stack Overflow. Lưu ý rằng đây là phần bình luận như một câu trả lời. Có một số ý kiến ​​trong các câu trả lời chính mô tả các lựa chọn thay thế cho các bản phân phối Linux khác nhau. Tôi nhận ra bạn chưa thể đưa ra nhận xét. Hãy thận trọng về việc thêm 'các câu trả lời' cho các câu hỏi được thiết lập tốt và thực sự là 'nhận xét'. –

6

Đối với phiên bản Redhat (Centos 7) Sử dụng dưới lệnh để cài đặt Python Package Phát triển

Python 2,7

sudo yum install python-dev

Python 3,4

sudo yum install python34-devel

Tuy nhiên nếu vấn đề của bạn không được giải quyết sau đó thử cài đặt bên dưới gói -

sudo yum install libffi-devel

sudo yum install openssl-devel

sudo yum install python-devel

+0

'Không có gói python-dev có sẵn.' Tôi nhận được điều này. –

+1

Hi @NishantKumar chắc chắn rằng bạn đang làm việc trên centos và cài đặt nó cho python2.x. Bạn cũng có thể thử "sudo yum install python-devel" –

1

thử điều này:

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

Tôi gặp sự cố tương tự trên Ubuntu 14.04.Đối với tôi các gói Ubuntu sau đây

0

Tôi đã thử tất cả các câu trả lời ở trên. Nhưng những gì làm việc cho tôi là cho CentOS:

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