Pyqt4和Pyqt5导致Pycharm导入错误

时间:2014-07-25 22:09:33

标签: python pyqt pyqt4 pycharm pyqt5

我在使用PyQt时遇到了一些麻烦。我已经通过Homebrew安装了PyQt4和PyqQt5,我计划将PyQt4用于我正在进行的特定项目。但是,我有一些奇怪的问题让它发挥作用。

在一个模块中,我们称之为A,我正在使用这些导入:

from OpenGL.GL import *
from OpenGL.GLU import *
from PyQt4 import QtGui
from PyQt4.QtOpenGL import *

现在,PyQt4以红色下划线显示'未解析的PyQt4引用'。但是,此代码运行。如果我将其更改为PyQt5,则没有下划线:

from OpenGL.GL import *
from OpenGL.GLU import *
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtOpenGL import *

但是,我在运行时遇到此错误:

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。那些导入看起来像这样:

import sys
from PyQt4 import QtGui

当我运行此代码时,我收到此错误:

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导入却没有?感谢您提前提供任何帮助。

3 个答案:

答案 0 :(得分:3)

在PyCharm File > Invalidate Caches为我工作。

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

希望有所帮助。

答案 1 :(得分:1)

我现在遇到与Python 3.5.1和Pycharm 2016.1.2相同的问题。有什么帮助是额外安装包python3-qtpy,所以:

apt-get install python3-qtpy

之后我没有在Pycharm中从PyQt4获得任何更多未解析的引用。

答案 2 :(得分:0)

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

  1. 右键单击项目目录
  2. 选择选项“将目录标记为”,然后单击“源根”。
  3. 有关详情,请查看:Unresolved reference issue in PyCharm