我想将我的python编译器更改为“更新”(在一个项目中),并使用一些带有conda的附加包。安装后我的所有软件包都工作正常,我可以使用控制台,但是从那时起matplotlib.pyplot无法导入。并抛出以下错误:app = QtGui.QApplication([" "])
AttributeError: module 'PyQt5.QtGui' has no attribute 'QApplication'
在对此进行一些研究后,我找到了这个:link
建议更改inputhooks.py(在第513行并将GUI_QT:enable_qt4
更改为GUI_QT: enable_qt5
4到5)
由于它是公司机器,我无法拥有管理权限来覆盖PyCharm中的内容。
您能否推荐更好的解决方案来避免这种情况?
为什么会出现这种情况? ErrorLogScreenshot
此外,我尝试安装较新版本的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很陌生,并且在这个深度上不太了解它的核心,所以任何帮助都会受到赞赏。
谢谢, 安娜
答案 0 :(得分:1)
更新PyCharm后,所有问题似乎都得到了解决。 (我正在使用versin 2017.1) show traceback错误是由pydev引起的,新版本修复了它。
以及GUI问题。
我能够通过查找文件解决它,并且两条消息都消失了,matplotlib似乎再次正常工作。
在此文件夹下(我将我的环境命名为py35):
C:\ Users \用户名为myUsername \应用程序数据\本地\连续\ anaconda3 \ ENVS \ py35 \ LIB \站点包\ IPython的\ core__pycache __
我找到了这个文件:interactiveshell.cpython-35.pyc并将其删除 - (这解决了仅在Python 3.5上的问题)
答案 1 :(得分:1)
对于有相同问题的任何人,我已通过切换到qt和pyqt 4解决了此问题。为此,请执行以下步骤:
conda remove qt
conda install qt=4
conda install -c anaconda pyqt=4.11.4
conda install matplotlib --no-update-dependencies
如果您不使用虚拟环境,则可能还必须在安装新软件包之前删除anaconda导航器:
conda uninstall anaconda-navigator
在程序开始时,切换matplotlib后端:
import matplotlib.pyplot as plt
plt.switch_backend('Qt4Agg')
受this solution的启发。