Python.h:没有这样的文件或目录#include

Python.h:没有这样的文件或目录#include

当我尝试编译 pyqt 时出现错误python.h 的错误

我已经安装了所有先决条件,但仍然显示相同的问题,请找到答案

答案1

对于 Python 2

sudo apt-get install python-dev

由于Python.h-dev

对于 Python 3

sudo apt-get install python3-dev

答案2

缺少的头文件 Python.h 位于 python-dev 包中,首先检查您是否已安装它:

$ dpkg --get-selections |grep python-dev
libboost-mpi-python-dev             install
libboost-python-dev             install
python-dev                  install

您还可以使用“locate”来查看文件是否存在:

$ locate Python.h
/usr/include/python2.7/Python.h

一旦你知道了你有头文件,就试着看看编译器在哪里寻找它:

cd PyQt_installation_dir
grep -r python2.7 .
...
./QtNetwork/QtNetwork.pro:INCLUDEPATH += /usr/local/include/python2.7
...

在我的例子中,问题在于文件位于 /usr/include/python2.7,但 Makefile 包含路径 (-I) 包含 /usr/local/include/python2.7。为了解决这个问题,我创建了一个链接:

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

也许有更好的方法来做到这一点,但至少编译是有效的。

祝好,哈里

相关内容