我正在尝试在我的Ubuntu 12.04机器上安装PyQt5。因此,从这里下载后,我将其解压缩,运行python configure.py
并make
.但是,会产生以下结果:
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 文件可能在哪里?
问题是每个 Makefile 中所有 python 标头的包含路径都将指向 /usr/local/include/python2.7
,这应该被/usr/include/python2.7
对此有两种可能的解决方案。您可以更改每个 Makefile 中出现的所有内容,或者您可以创建指向该位置的符号链接
sudo ln -s /usr/include/python2.7 /usr/local/include/python2.7
现在您可以运行make
sudo apt-get install python-dev
您缺少 python 头文件。
您遇到的问题是 PyQt 假设您没有使用发行版的托管 python,而是默认在 /usr/local/include/python2.7
中查找 sip 。
幸运的是,configure.py
提供了覆盖python和sip包含位置的选项:
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
,因为这将使手动安装的软件能够污染(或损坏安装到(发行版管理的路径的软件包。
现有的头文件添加到 QTCreator 和 Anjuta IDE 中的项目目录中。