PyQt5 error during "python3 configure.py": fatal error: 'qgeolocation.h' file not found

PyQt5 error during "python3 configure.py": fatal error: 'qgeolocation.h' file not found

MAC OSX 10.9, Python 3.5, sip-4.17, PyQt-gpl-5.5.1, Qt5.5.1

你好, 尝试在我的系统上构建 PyQt 我执行了以下步骤:

  1. download/install Qt5.5.1 库
  2. download/unpack SIP
  3. download/unpack PyQt
  4. 安装 SIP:

    python3 configure.py -d /Library/Python/3.5/site-packages --arch x86_64
    
    make
    
    sudo make install
    
  5. 尝试安装 PyQt:

    python3 configure.py -d /Library/Python/3.5/site-packages
                                   --qmake /.../Qt5.5.1/5.5/clang_64/bin/qmake
    

配置停止于:

    /Users/werner/OpenSource/PyQt/sip/QtPositioning/qgeolocation.sip:28:10:
                             fatal >error: 'qgeolocation.h' file not found
     #include <qgeolocation.h>
               ^
      1 error generated.
      make[1]: *** [sipQtPositioningcmodule.o] Error 1
      make: *** [sub-QtPositioning-make_first-ordered] Error 2

我试图完成安装

make
sudo make install

无论如何。但是安装似乎没有完成(例如缺少uic,pyuic5)。这是我的安装目录:

>ls /Library/Python/3.5/site-packages/PyQt5
QtBluetooth.so          QtSensors.so
QtCore.so               QtSerialPort.so
QtDBus.so               QtSql.so
QtDesigner.so           QtSvg.so
QtGui.so                QtTest.so
QtHelp.so               QtWebKit.so
QtMacExtras.so          QtWebKitWidgets.so
QtMultimedia.so         QtWidgets.so
QtMultimediaWidgets.so  QtXml.so
QtNetwork.so            QtXmlPatterns.so
QtOpenGL.so             _QOpenGLFunctions_2_0.so
QtPrintSupport.so       _QOpenGLFunctions_2_1.so
QtQml.so                _QOpenGLFunctions_4_1_Core.so
QtQuick.so

我在搜索其他讨论时找不到任何有用的信息,所以我希望有人能给我提示我做错了什么(也许是愚蠢的)。感谢您抽出时间来阅读。

就在昨天,我也遇到了这样的问题。这就是我解决它的方法:

在/PyQt-gpl-5.5.1/QtPositioning 中创建头文件qgeolocation.h,并将内容从this website 复制到其中。然后我去 sudo make 和 sudo make 安装成功。

虽然不知道解决这个问题对不对,还好我安装了PyQt,进入了eric6。希望你也能成功。

在 OSX 10.11.1 上为我添加 location.h 头文件。 我在 PyQt-gpl-5.5.1 和 PyQt-gpl-5.5.2 中都遇到了问题,但是在添加 文件,能够构建。

如果您不需要这个模块,更好的解决方法是在配置时禁用它。

python configure.py --disable=QtPositioning

在 /PyQt-gpl-5.5.1/QtPositioning 中创建 qgeolocation.h 的方法对我有用。 QtPositioning.so 已创建。

您也可以从您的 qt 源文件夹中获取头文件(您已经将源文件与二进制文件一起安装,对吧?),它位于此处:

/Src/qtlocation/src/positioning/qgeolocation.h

然后复制到:

/PyQt-gpl-X.X.X/QtPositioning/qgeolocation.h

如下。应该可以解决99.9%的问题。