Ann*_*jén 6 python import pyqt matplotlib pycharm
我想将我的 python 编译器更改为“更新的”编译器(在一个项目中),并在 conda 中使用一些额外的包。安装后,我所有的包都运行良好,我可以使用控制台,但是从那时起 matplotlib.pyplot 无法导入。并抛出以下错误:app = QtGui.QApplication([" "])
AttributeError: module 'PyQt5.QtGui' has no attribute 'QApplication'
在对此做了一些研究之后,我发现了这个:链接
它建议更改 inputhooks.py(在第 513 行并更改GUI_QT:enable_qt4
为GUI_QT: enable_qt5
4 到 5)由于它是公司机器,我无法拥有在 PyCharm 中覆盖内容的管理员权限.
你能推荐一个更好的解决方案来避免这种情况吗?
为什么会弹出这个? 错误日志截图
我也尝试安装较新版本的 pyqt 但这并没有解决问题。
同时在 pydev 中,interactiveshell.py 也失败了。带有以下错误消息:self.showtraceback(running_compiled_code=True)
TypeError: showtraceback() got an unexpected keyword argument 'running_compiled_code'
我知道它得到了一个它不期望的参数。我也对这个做了一些研究,有些人可以通过删除一个陈旧的相应 .pyc 文件来修复它(我无法在与初始文件相同的位置找到一个,只有interactiveshell.py)
在这篇关于 pydev 的博客下方,对话从未深入 https://github.com/ipython/ipython/issues/10687
有办法解决吗?我对 Python 有点陌生,在这个深度上不太了解它的核心,因此感谢任何帮助。
谢谢,安娜
对于遇到同样问题的人,我已经通过切换到 qt 和 pyqt 4 解决了这个问题。为此,请按照以下步骤操作:
conda remove qt
conda install qt=4
conda install -c anaconda pyqt=4.11.4
conda install matplotlib --no-update-dependencies
Run Code Online (Sandbox Code Playgroud)
如果您不使用虚拟环境,您可能还需要在安装新软件包之前删除 anaconda navigator:
conda uninstall anaconda-navigator
Run Code Online (Sandbox Code Playgroud)
在程序开始时,切换 matplotlib 后端:
import matplotlib.pyplot as plt
plt.switch_backend('Qt4Agg')
Run Code Online (Sandbox Code Playgroud)
受到这个解决方案的启发。