1

您好,我对 PyQt4-dev-tools 有这个问题,包括:
* 用户界面编译器 (pyuic4) * 资源文件生成器 (pyrcc4) * 翻译字符串查找器 (pylupdate) 当我想转换从设计器使用:

pyuic4 untitled.ui>test.py 

我得到这个错误:

Traceback (most recent call last):
  File "/usr/bin/pyuic4", line 3, in <module>
    import PyQt4.uic.pyuic
  File "/usr/lib/pymodules/python2.6/PyQt4/uic/pyuic.py", line 4, in <module>
    from PyQt4 import QtCore
RuntimeError: the sip module implements API v8.0 to v8.1 but the PyQt4.QtCore module requires API v7.1

我尝试过升级、删除并重新安装、手动安装等...

这是我所做的完整日志:http: //pastebin.com/2DYfAwdC

PD对不起我的英语不好

4

1 回答 1

2

您的 sip python 模块必须已重新安装到较新版本,该版本现在与您的 PyQt 安装不兼容。我建议删除 sip、PyQt 和 Qt,然后重新安装它们。

检查您的 apt 是否是最新的,并确认您的 pythonpath 中没有旧的 PyQt 安装。

如果您能够自行成功导入 PyQt,请尝试比较导入路径以确保您没有拉取另一个版本的 PyQt:

# from a shell
python -c "from PyQt4 import QtCore; print QtCore.PYQT_VERSION_STR, QtCore.QT_VERSION_STR; print QtCore.__file__"

将版本和 PyQt4 位置与使用 pyuic4 时从您的回溯中转储的位置进行比较

如果在其他位置发现 sip 问题,请尝试调整您的 PYTHONPATH 以确认:

import sys
sys.path.insert(0, "/usr/lib/pymodules/python2.6")

from PyQt4 import QtCore

如果这在没有崩溃的情况下工作,那么您可能应该从此处删除导致冲突的较新 sip:“/usr/lib/python2.6/dist-packages/sip.so”

于 2012-02-06T23:07:35.530 回答