【问题标题】:PyCharm PyQt4 / PyQt5 collision in debug mode调试模式下的 PyCharm PyQt4 / PyQt5 冲突
【发布时间】:2018-08-24 15:52:36
【问题描述】:

我正在尝试在 pycharm 中使用 PyQt4。我的代码在运行模式下完美运行,但在调试模式下,当我尝试导入 PyQt4 时出现以下错误:

“RuntimeError:PyQt4.QtCore 和 PyQt5.QtCore 模块都包装了 QObject 类”

即使使用非常简单的代码也会发生这种情况:

from PyQt4 import QtGui, QtCore
print('cheese')

(因此,这与 previousPyQt4 Pycharm 问题 w. Matplotlib 不同)

显然,PyCharm 调试器正在使用 PyQt5(这可以通过调用 sys.modules['PyQt5'] 来查看)。如何“取消导入”PyQt5,或者至少防止冲突?

另外:我尝试以不同方式导入以包含显式依赖项,但这也会产生错误:

import PyQt4 as pp
pp.QtGui

AttributeError: 模块 'PyQt4' 没有属性 'QtGui'

谢谢!

【问题讨论】:

    标签: python debugging pyqt pycharm pyqt4


    【解决方案1】:

    你可以去 Settings>Build,Execution,Deployment>Debugger>Python Debugger>PyQt compatible: 选择 PyQt4。

    【讨论】:

      【解决方案2】:

      尝试转到文件 > 设置 > 项目 > 项目解释器。编辑您当前的解释器,或创建一个新解释器,然后从显示的列表中删除 PyQt5。

      【讨论】:

      • PyQt5 实际上并没有出现在那里,因为我认为它不是一个实际的项目包,而是 PyCharm 在调试模式下隐式使用的工具(例如它在运行模式下不使用)
      猜你喜欢
      • 2014-09-17
      • 1970-01-01
      • 2011-07-17
      • 2014-05-19
      • 2021-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多