在Scientific Linux 6.5上安装PyQt4.11.2

时间:2014-10-10 14:21:19

标签: python linux qt install pyqt4

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

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

为更新版本的python进行绑定。到目前为止一切正常。 然后我尝试以相同的方式安装PyQt4.11.2:

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

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

错误:'PrintCurrentPage'不是'QAbstractPrintDialog'的成员 .... / Downloads / PyQt-x11-gpl-4.11.2 / QtGui / sipQtGuiQAbstractPrintDialog.cpp:1787:错误:'sipEnumMemberDef'的初始化程序太多了 make [1]: * [sipQtGuiQAbstractPrintDialog.o]错误1 make [1]:离开目录`.... / Downloads / PyQt-x11-gpl-4.11.2 / QtGui' make:* [all]错误2

我在这一点上有点失落,一直在抨击我的头脑,它一定是我错过的简单,任何帮助都会很棒。

提前致谢

2 个答案:

答案 0 :(得分:2)

  1. 搜索字符串' PrintCurrentPage'在PyQt包的文件中。你会在4个文件中找到它。
  2. 使用字符串' PrintCurrentPage'
  3. 删除相应的行

答案 1 :(得分:1)

我知道这个帖子已经过时了,但是我在Red Hat Enterprise Linux 5机器上遇到类似的错误安装PyQt4.11.4错误。

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

添加缺少的成员后,我重新运行make而没有编译错误。

我偶然发现此解决方案的唯一原因是查看此qtabstractprintdialog.h here版本。我注意到我的头文件版本缺少QAbstractPrintDialog类中的那些成员。

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