6

我的大部分工作都是在 Windows 中完成的,并且有一个很好的 python27 设置,就像我喜欢的那样。我最近安装了 virtualBox 并在其上运行了一台 Ubuntu 机器,并试图在其上安装 PyQt4。但是,当我尝试从 PyQt4 导入时,我从 apt-get 安装并更新了所有内容

from PyQt4 import QtCore

我得到一个运行时错误:

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'

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

4

2 回答 2

5

我刚刚测试了 sip/pyqt 的安装apt-get,它安装了:

  • 啜饮 4.12.4
  • PyQt4 4.8.5

您报告的 sip 版本是开发快照。我建议删除所有这些,sudo apt-get update然后sudo apt-get install python-sip python-qt4再做一次。

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

如果您有混合安装,请尝试删除所有这些。使用 pip 你可以做到pip remove sip。或者你可以进入一个 python shell 并找出它在哪里,然后手动删除它:

$ python
>>> import sip
>>> print sip 
# path to sip
于 2012-12-21T01:48:44.453 回答
0

如果您需要使用 Qt 4.7,这些版本可以一起使用(构建在 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
于 2014-06-20T20:03:41.057 回答