2013-07-17 52 views
7

Tôi đang cố cài đặt PyQt5 trên hộp Ubuntu 12.04 của mình. Vì vậy, sau khi tải xuống từ here tôi đã hủy cài đặt nó, chạy python configure.pymake. Hãy Tuy nhiên, kết quả trong những điều sau đây:Lỗi nghiêm trọng khi biên dịch PyQt5: Python.h không tồn tại

cd qpy/ && (test -f Makefile || /opt/qt5/bin/qmake /home/kram/Downloads/PyQt-gpl-5.0/qpy/qpy.pro -o Makefile) && make -f Makefile 
make[1]: Map '/home/kram/Downloads/PyQt-gpl-5.0/qpy' is entered 
cd QtCore/ && (test -f Makefile || /opt/qt5/bin/qmake /home/kram/Downloads/PyQt-gpl-5.0/qpy/QtCore/QtCore.pro -o Makefile) && make -f Makefile 
make[2]: Map '/home/kram/Downloads/PyQt-gpl-5.0/qpy/QtCore' is entered 
g++ -c -pipe -fno-strict-aliasing -O2 -Wall -W -fPIC -D_REENTRANT -DQT_NO_DEBUG -DQT_CORE_LIB -I/opt/qt5/mkspecs/linux-g++ -I. -I. -I../../QtCore -I/usr/local/include/python2.7 -I/opt/qt5/include -I/opt/qt5/include/QtCore -I. -o qpycore_chimera.o qpycore_chimera.cpp 
qpycore_chimera.cpp:21:20: fatal error: Python.h: File or folder does not exist 
compilation terminated. 
make[2]: *** [qpycore_chimera.o] Error 1 
make[2]: Map '/home/kram/Downloads/PyQt-gpl-5.0/qpy/QtCore' is left 
make[1]: *** [sub-QtCore-make_first] Error 2 
make[1]: Map '/home/kram/Downloads/PyQt-gpl-5.0/qpy' is left 
make: *** [sub-qpy-make_first-ordered] Error 2 

(tôi dịch một số phần của thông báo lỗi từ Hà Lan sang tiếng Anh, vì vậy một số từ có thể là một chút khỏi từ ngữ bình thường ..)

Hiện ai vấn đề là gì? Có thể tệp Python.h có liên quan ở đâu?

Trả lời

29

Vấn đề là bao gồm con đường cho tất cả các tiêu đề trăn trong mỗi Makefile sẽ được trỏ đến /usr/local/include/python2.7, mà cần phải có được /usr/include/python2.7

Có 2 giải pháp khả thi cho việc này. Hoặc bạn có thể thay đổi tất cả sự xuất hiện của điều này trong mỗi Makefile hoặc nếu không bạn có thể tạo một liên kết tượng trưng đến vị trí

sudo ln -s /usr/include/python2.7 /usr/local/include/python2.7 

Bây giờ bạn có thể chạy make

6
sudo apt-get install python-dev 

Bạn thiếu tệp tiêu đề trăn.

+0

Tôi cũng nghĩ như vậy, nhưng tôi đã cài đặt chúng. Sau khi chạy lệnh của bạn nó nói python-dev đã là phiên bản mới nhất. – kramer65

+0

Phiên bản nào bạn cài đặt và phiên bản python-dev nào bạn có –

+0

Tôi không biết cách kiểm tra phiên bản python-dev, nhưng tôi chạy 'sudo apt-get install python2.7-dev', mà cũng nói với tôi tôi đã có phiên bản mới nhất. – kramer65

1

Vấn đề bạn đang gặp phải là PyQt giả sử bạn' không sử dụng python được quản lý của distro của bạn, và thay vào đó mặc định để tìm kiếm ngụm trong /usr/local/include/python2.7.

May mắn thay, configure.py cung cấp tùy chọn để ghi đè lên python và nhâm nhi bao gồm các địa điểm:

python configure.py --sip-incdir /usr/include/python2.7 py_inc_dir=/usr/include/python2.7 

Giải pháp này nên ưa thích để symlinking /usr/include/python2.7 vào /usr/local/include/python2.7 như rằng sẽ cho phép phần mềm được cài đặt bằng tay để gây ô nhiễm (hoặc gói tham nhũng cài đặt để) đường dẫn được quản lý phân tán.

0

Tốt hơn là thêm các tệp tiêu đề hiện có vào thư mục dự án trong cả QTCreator và Anjuta IDE.