1

运行 Ubuntu QQ:

我有一个使用 PyQt 的 Python 项目。在几个地方我导入了 QtCore 和 QtGui:

from PyQt4 import QtCore, QtGui

直到现在,我一直在使用python3.2.x(3?)

当我对此类文件运行pylint时,它会报告错误:

"Line 1 E: No name 'QtCore' in module 'PyQt4' 

但无论如何,该应用程序运行良好。

现在我安装了 Python 3.3(在同一路径上: .. /usr/bin/ )并将我的项目配置为使用 python3.3 并且 python 失败:

builtins.ImportError: cannot import name QtCore
File "/myfile.py", line 1, in <module>
from PyQt4 import QtCore

到底是怎么回事?用python3.2,pylint报错,python没问题,但是用python3.3就失败了,python3.2报错pylint?

4

1 回答 1

1

关于 PyQT 导入的“错误”pylint 报告是因为由于 PyQT 中包含一些 C++ 或一些 C,所以 pylint 无法轻松自动地内省 PyQt 模块并确定您的代码是否正确导入了该第 3 方模块的位。

为了解决这个问题,pylint 有一个名为pylint-brains的插件项目,可以在其中指定自省特定模块(或伪造它们的自省)的方法。有一个可以删除这个非常常见的导入的“E”的贡献会很好。

对于 ImportError,如评论中所述,我相信您必须为此版本的 python 重新安装 PyQt,或者 PyQt 尚未与 3.3 兼容,或者您​​的 pythonpath 中的某些内容有误。

于 2013-05-14T08:14:56.860 回答