"python3 configure.py"期间出现 PyQt5 错误:致命错误:找不到'qgeolocation.h'文件



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

嗨,试图在我的系统上构建PyQt,我做了以下步骤:

  1. 下载/安装Qt5.5.1库
  2. 下载/解压缩SIP
  3. 下载/解压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

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

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

python configure.py --disable=QtPositioning

就在昨天,我也遇到了这样一个问题。这就是我要解决的问题:

在/PyQt-gpl-5.5.1/QtPositing中创建一个头文件qgeolocation.h,并将内容从该网站复制到其中。然后我成功地进行了sudo制作和安装。

虽然我不知道解决这个问题是否正确,但幸运的是,我安装了PyQt并进入了eric6。希望你也能成功。

在OSX 10.11.1上为我添加location.h头文件。我在PyQt-gpl-5.5.1和PyQt-gpl-5.5.2中都有问题,但在添加文件,能够生成。

在/PyQt-gpl-5.5.1/QtPositioning中创建qgeolocation.h的方法对我很有效。创建了QtPositiong.so。

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

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

然后将其复制到:

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

如下所示。在99.9%的情况下,它应该能解决问题。

最新更新