2011-09-06 41 views
14

Tôi đang cố cài đặt ReportLab 2.4 trên máy chủ 10.04.2 bằng virtualenv. Trong thư mục ReportLab_2_4 tôi sử dụng:cài đặt Reportlab (lỗi: lệnh 'gcc' không thành công với trạng thái thoát 1)

python setup.py install 

và lỗi tôi nhận được:

error: command 'gcc' failed with exit status 1

+0

Bạn có GCC gì? - Thử cập nhật nó vì nó có thể đã thay đổi. – Louis

+5

Nếu bạn đang chạy hệ thống dựa trên debian, hãy thử: 'sudo apt-get install python-dev' – Ski

+0

Ngoài ra, bạn có thể cuộn lên qua nhật ký lỗi tới dòng cho biết chính xác lỗi là gì. Bạn đang thiếu một số thư viện phát triển. Lệnh này có thể lọc ra thông điệp hữu ích: 'python setup.py install 2> & 1 | grep missing' – Ski

Trả lời

14

Như Skimantas nói, tôi nghĩ rằng bạn nên cài đặt python-dev. sudo apt-get install python-dev và tôi đã có thể cài đặt reportlab vào thư mục chính của tôi với lệnh "pip install reportlab" không có sudo như đã đề cập trước đó. Tôi chỉ cần truy cập root để cài đặt python-dev.

Ngay ..

Tôi đã cài đặt virtualenv

sudo apt-get install python-setuptools 
sudo easy_install virtualenv 
virtualenv --no-site-packages virtual01 

Tôi đã cài đặt

sudo apt-get install python-dev 

tôi kích hoạt môi trường ảo của tôi chỉ để đảm bảo ...

source ~/virtual01/bin/activate 

cd ~/virtual01/bin 
pip install reportlab 

Và đó là nó.

(tôi chỉ ghi lại những gì tôi đã làm trong Ubuntu 10.04 LTS)

+0

Tôi nhận được cùng một lỗi, sử dụng cả hai' pip' và 'easy_install'. Lỗi thích hợp nhất là:'/env/build /reportlab/src/rl_addons/rl_accel/_rl_accel.c:11:20: lỗi nghiêm trọng: Python.h: Không có tệp hoặc thư mục nào như vậy. Tôi đã cài đặt 'python-dev' và xây dựng bên ngoài virtualenv hoạt động tốt Nhưng ngay sau khi env được kích hoạt nó sẽ không tìm thấy 'Python.h' nữa: ( – exhuma

+0

Tôi vẫn phải chạy như sudo, nhưng có khả năng liên quan đến hộp ảo của tôi tôi đang sử dụng. Nếu không thì điều này đã làm cho tôi ! – kyleturner

+0

Cảm ơn rất nhiều! Nó thực sự đã cứu tôi – syam

0

tôi nhận được một lỗi rất giống nhau cố gắng để cài đặt ReportLab trên Mac OS X, mà tôi vừa muốn nâng cấp lên 10.9. Chạy Xcode, đồng ý với thỏa thuận cấp phép mới và thử lại.

0

Trên cơ hội bên ngoài, mọi người đang triển khai báo cáo tới AWS EC2/ElasticBeanstalk ... Giải pháp của tôi ở bên dưới.

deactivate && sudo pip install reportlab 
sudo cp -r /usr/local/lib64/python2.7/site-packages/reportlab /opt/python/run/venv/lib/python2.7/site-packages/ 

Đó là siêu hack, nhưng đó là một giải pháp để làm cho nó chạy trên ngăn xếp django của tôi với AWS ElasticBeanstalk. Tôi chỉ cần sửa đổi .ebextensions/02_python.config để thực hiện ở trên trước khi tiếp tục hơn nữa, tôi nghĩ rằng nó được thiết lập để thực hiện 2, sau khi sử dụng pip để cài đặt requirements.txt để venv.

+0

Điều này không cụ thể đối với AWS EC2.Tại sao 'sudo pip install' hoạt động khi' pip install' trong virtual env không? –

+0

@MartijnPieters 'pip install reportlab' trong khi ở venv sẽ thất bại, tuy nhiên chạy' hủy kích hoạt' thì 'sudo pip install reportlab' sẽ cài đặt thành công reportlab, sau đó tôi chỉ sao chép nó ra thư mục venv. Tôi đã thử nghiệm rằng nó được cài đặt đúng bằng cách kích hoạt môi trường và kích hoạt REPL của python và nhập reportlab. Làm tất cả mọi việc. EDIT: Tôi cho rằng các thư mục không cụ thể cho EC2. –

+0

@ Tech1: vì vậy môi trường siêu người dùng của bạn chứa các biến môi trường thích hợp để tạo tiện ích mở rộng. Có lẽ đã đến lúc tìm ra những gì còn thiếu trong môi trường thường xuyên của bạn? –

Các vấn đề liên quan