关于python:Pyqt4和Pyqt5的Pycharm导入错误

Pycharm import error with Pyqt4 and Pyqt5

我和派克有点麻烦。我已经通过自制安装了Pyqt4和Pyqqt5,并计划将Pyqt4用于我正在进行的特定项目。然而,我有一些奇怪的问题让它工作。

在一个模块中,我们称之为a,我使用的是这些导入:

1
2
3
4
from OpenGL.GL import *
from OpenGL.GLU import *
from PyQt4 import QtGui
from PyQt4.QtOpenGL import *

现在,pyqt4用红色下划线标出"未解析的对pyqt4的引用"。但是,此代码运行。如果我将其更改为pyqt5,则没有下划线:

1
2
3
4
from OpenGL.GL import *
from OpenGL.GLU import *
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtOpenGL import *

但是,我在运行时会得到这个错误:

1
2
3
4
Traceback (most recent call last):
  File"/Users/Jordan/PycharmProjects/SimpleCAD/QGLWindow.py", line 6, in <module>
    from PyQt5 import QtCore, QtGui, QtWidgets
ImportError: No module named PyQt5

现在,我的程序中有另一个窗口,我在另一个模块b中处理过这个窗口。这些导入如下所示:

1
2
import sys
from PyQt4 import QtGui

当我运行此代码时,我得到以下错误:

1
2
3
4
Traceback (most recent call last):
  File"/Users/Jordan/PycharmProjects/SimpleCAD/QTMainWindow.py", line 2, in <module>
    from PyQt4 import QtGui
ImportError: No module named 'PyQt4'

那么,我的进口货怎么了?为什么Pyqt4在一个模块中工作,而不是在另一个模块中工作?为什么我会收到在一个模块中工作的Pyqt4导入的警告,但对于不工作的Pyqt5导入没有警告?感谢您的帮助。


在Pychanm,File > Invalidate Caches为我工作。

https://stackoverflow.com/a/11773462/999943

希望有帮助。


我现在对python 3.5.1和pycharm 2016.1.2也有同样的问题。帮助的是额外安装了python3 qtpy包,因此:

1
apt-get install python3-qtpy

后来,我再也没有收到Pyqt4在PyCharm中未解决的参考资料。


这是因为需要将项目目录设置为源根目录。尝试以下步骤:

  • 右键单击项目目录
  • 选择选项"将目录标记为",然后单击源根目录。
  • 有关详细信息,请查看:Pycharm中未解决的参考问题