运行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?
答案 0 :(得分:1)
关于PyQT导入的“错误”pylint报告是因为由于PyQT中有一些C ++或一些C,因此pylint无法轻松自动地内省PyQt模块并确定您的代码是否正确导入了该第三方模块的位。
为了解决这个问题,有一个名为pylint-brains的pylint插件项目,可以指定内省特定模块(或伪造内省)的方法。如果有一个贡献可以删除这个非常常见的导入的“E”,那将是很好的。
对于ImportError,正如评论中所讨论的,我相信要么你必须为这个版本的python重新安装PyQt,要么PyQt还不兼容3.3,或者pythonpath中的某些内容是错误的。