编译PyQt5时出现致命错误:Python.h不存在

2024-05-15 08:41:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图在我的Ubuntu12.04盒子上安装PyQt5。所以从here下载后,我没有更正它,运行python configure.pymake。但是,结果如下:

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

(我将错误信息的某些部分从荷兰语翻译成英语,因此有些单词可能与正常的措辞有些出入。)

有人有什么问题吗?相关的Python.h文件可能在哪里?


Tags: maphomemakeisdownloadsgplmakefilepyqt
3条回答
sudo apt-get install python-dev

您丢失的python头文件。

问题是,每个Makefile中所有python头的include路径将指向/usr/local/include/python2.7,而该路径应该是/usr/include/python2.7

有两种可能的解决方案。您可以更改每个Makefile中出现的所有这些内容,也可以创建指向该位置的符号链接

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

现在您可以运行make

您遇到的问题是PyQt假设您没有使用发行版的托管python,而是默认在/usr/local/include/python2.7中查找sip。

幸运的是,configure.py提供了覆盖python和sip include位置的选项:

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

此解决方案应首选将/usr/include/python2.7符号链接到/usr/local/include/python2.7,因为这将使手动安装的软件能够污染(或损坏安装到)发行版管理的路径。

相关问题 更多 >