我在Windows中完成大部分工作,并且设置了喜欢的python27。我最近安装了virtualBox,并在其上运行了Ubuntu计算机,并试图在其上安装PyQt4。我从apt-get安装并更新了所有内容,但是,当我尝试从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'

不确定所有快照业务是关于什么的。

最佳答案

我刚刚通过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

    否则,您可以从源代码中获取最新的稳定版本:
  • sip 4.14.2
  • PyQt4 4.9.6

  • 如果您有混合安装,请尝试删除所有这些。使用pip可以执行pip remove sip。或者,您可以进入python shell,找出它在哪里,然后手动将其删除:
    $ python
    >>> import sip
    >>> print sip
    # path to sip
    

    关于python - SIP和PyQt4为什么不相处,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13981964/

    10-12 22:50