在科学Linux 6.5上安装PyQt4.11.2

我知道这可能是微不足道的,但我似乎无法find答案。 我刚刚完成了一个全新安装的Scientific Linux 6.5,它随Python 2.6和Qt 4.6.2一起提供。 我希望使用Python解释器python2.7.8所以下载并安装。 我在制作guis时使用了QtDesigner,所以需要使用PyQt绑定。 因此我下载了SIP-4.16.3,configuration为:

python2.7 ./configure(在sip下载目录中)

为较新版本的python制作绑定。 一切工作到目前为止。 然后我尝试以相同的方式安装PyQt4.11.2:

python2.7 ./configure –qmake = / usr / lib / qt4 / bin / qmake -g(用qt库来获取qmake的qt4版本)

configuration脚本完成正常,但在'make'期间出现以下错误:

错误:'PrintCurrentPage'不是'QAbstractPrintDialog'的成员…. / Downloads / PyQt-x11-gpl-4.11.2 / QtGui / sipQtGuiQAbstractPrintDialog.cpp:1787:error:sipEnumMemberDef'make [1 ]: * [sipQtGuiQAbstractPrintDialog.o]错误1 make [1]:离开目录`…. / Downloads / PyQt-x11-gpl-4.11.2 / QtGui'make:* [all] Error 2

我在这一点有点失落,一直在抨击我的头,这一定是简单的我错过了,任何帮助将是伟大的。

提前致谢

  1. 在你的PyQt包的文件中搜索字符串“PrintCurrentPage”。 你会在4个文件中找到它。
  2. 删除与“PrintCurrentPage”字符串相对应的行

我知道这个线程是旧的,但我遇到了一个类似的错误在红帽企业Linux 5机器上安装PyQt4.11.4的来源。

我最终将成员'PrintShowPageSize = 0x0008''PrintCurrentPage = 0x0040'QAbstractPrintDialog的类定义。 这个C ++类定义位于头文件qabstractprintdialog.h 。 在我的发行版中,它位于/usr/lib64/qt4/include/QtGui/

添加这些失踪的成员后,我重新运行make没有编译错误。

我偶然发现这个解决方案的唯一原因是在这里查看这个版本的qtabstractprintdialog.h 。 我注意到我的版本的头文件丢失QAbstractPrintDialog类中的成员。

我还没有使用新的PyQt4安装,所以我现在不能担保功能。 但它确实编译/安装!