2012-12-20 117 views
4

我在Windows中完成了大部分工作,并且设置了一个像我喜欢的python27。我最近安装了virtualBox并运行了一个Ubuntu机器,并试图安装PyQt4。 ,我从安装apt-get和更新的一切,但是当我尝试从PyQt4的为什么SIP和PyQt4不能相处

导入
from PyQt4 import QtCore 

我得到抛出一个RuntimeError:

RuntimeError: the sip module implements API v9.0 to v9.1 but the PyQt4.QtCore module requires API v8.1 

我相信这是我将有一个问题需要在Windows中解决的知识库,但是我的Linux经验不足在这里变得越来越好,并且我错误地安装了一些东西。这个错误导致我相信我有一个SIP版本,对于我的PyQt版本来说太过幻想......任何人都有这方面的经验吗?

编辑:如果我在接收到错误后再次尝试导入,它似乎工作。这样做,我获得了版本信息。

cfg.pyqt_version_str 
Out[9]: '4.9.3' 
cfg.sip_version_str 
Out[10]: '4.14.3-snapshot-55188026fe6d' 

不确定快照业务是什么。

+0

@gertvdijk:你从哪里得知它是“接班人”?请记住,诺基亚将Qt卖给了Digia,这意味着开放源代码方面可能仍然是“?”,而这一切都没有影响到Riverbanks的课程。一个是LGPL,另一个是GPL。 PyQt得到积极维护。 – jdi

+0

可能不是这种情况,但我遇到了我需要的情况。 I.E.与Spyder在某一时间开发的兼容性问题。在PyQt出来之前,PySide无法实现PyQt – Matt

+0

你知道你已经安装了什么版本的PyQt与sip版本吗? – jdi

回答

4

我只是测试通过apt-get SIP/PyQt的的安装和安装它:

  • SIP 4.12.4
  • PyQt4的4.8.5

你举报的SIP版本是开发快照。我建议将其全部删除,再次执行sudo apt-get update,然后sudo apt-get install python-sip python-qt4

否则,您可以从源代码做了最新的稳定版本:

如果您混合安装,尝试并删除了这一切。用点可以做pip remove sip。或者你可以去到一个Python外壳,并找出它在哪里,然后手动删除它:如果你需要使用Qt 4.7

$ python 
>>> import sip 
>>> print sip 
# path to sip 
0

,这些版本一起工作(建立在x86_64的Centos6工作)

PyQt 4.10.4 
    SIP 4.15.5 
    QT 4.7.4 

如果你需要的Qt 4.8,这些版本一起工作PyQt4的的构建:

PyQt 4.11 
    SIP 4.16 
    QT 4.8.x 

使用以下步骤构建PyQt4的:

python configure-ng.py -g 
    make 
    make install 
相关问题