Windows7下anaconda中python2.7的pyqt5版本的原因导致的matplotlib以及Spyder错误解决方案

  • Post author:
  • Post category:python


Windows7下anaconda中python2.7的pyqt5版本的原因导致的matplotlib以及Spyder错误解决方案

前言:

因为想用pyinstaller将python文件转为Windows下可以运行的.exe文件,可是没想到,安装了一个pyqt5 32位版本的之后,就出现了各种神奇的bug。

首先pyinstaller也没有成功,其次,matplotlib和Spyder也凉了:

其中Spyder打开的报错就是这个:

这里写图片描述

不会解决嘛,然后就谷歌,找不到合适的方案,卸载了垃圾pyqt5,然后装了pyqt5.5版本以上的,装了64位的。

都不行。

后来就一直不成功,好像是破坏了原有的环境和联系。

第二次报错:

matplotlib ImportError("Failed to import any qt binding") ImportError: Failed to import any qt binding

好像是这乱七八糟的,不是全部

我输入了下面的指令,就修复了好多:

conda update --all

参考链接在这儿:


App failed to start because it could not find Qt platform plugin “Windows” in “”

第三次报错:

这一步很重要:

python2和pyqt5之间,是不能直接装QtPy5的,需要这样:

pip install python-qt5

然后我在

import matplotlib.pyplot as plt

的时候报错:

Traceback (most recent call last):
  File "plot_3bar.py", line 8, in <module>
    import matplotlib.pyplot as plt
  File "D:\anaconda\envs\py27\lib\site-packages\matplotlib\pyplot.py", line 115, in <module>
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File "D:\anaconda\envs\py27\lib\site-packages\matplotlib\backends\__init__.py", line 62, in pylab_setup
    [backend_name], 0)
  File "D:\anaconda\envs\py27\lib\site-packages\matplotlib\backends\backend_qt5agg.py", line 15, in <module>
    from .backend_qt5 import (
  File "D:\anaconda\envs\py27\lib\site-packages\matplotlib\backends\backend_qt5.py", line 19, in <module>
    import matplotlib.backends.qt_editor.figureoptions as figureoptions
  File "D:\anaconda\envs\py27\lib\site-packages\matplotlib\backends\qt_editor\figureoptions.py", line 20, in <module>
    import matplotlib.backends.qt_editor.formlayout as formlayout
  File "D:\anaconda\envs\py27\lib\site-packages\matplotlib\backends\qt_editor\formlayout.py", line 54, in <module>
    from matplotlib.backends.qt_compat import QtGui, QtWidgets, QtCore
  File "D:\anaconda\envs\py27\lib\site-packages\matplotlib\backends\qt_compat.py", line 158, in <module>
    raise ImportError("Failed to import any qt binding")
ImportError: Failed to import any qt binding

(py27) C:\Users\lenovo\Documents\Python Scripts\csdn\src>

我找到了另一个教程:


anaconda – python ImportError: 無法導入名稱’QtCore’


这里的方案就是很直接,别高攀了,你本身就是一个垃圾python2.7版本的,为啥要装pyqt版本 5.6.0呢?

所以直接降低版本就好了——


更新内容:


早上我又执行了一次

conda update --all


把matplotlib的版本更新的了之后,发现,又会像上次那样报错~


所以安心的降低版本吧!

conda install pyqt=4.11.4
conda install qt=4.8.7

美美滋滋的,没想到,我不仅能导入matplotlib了,还能执行pyinstaller。

给你们看看效果——

106513 INFO: Updating manifest in C:\Users\lenovo\AppData\Roaming\pyinstaller\bincache00_py27_64bit\ssleay32.dll
106516 INFO: Updating resource type 24 name 2 language 1033
106572 INFO: Redirecting Microsoft.VC90.CRT version (9, 0, 21022, 8) -> (9, 0, 30729, 6161)
106574 INFO: Updating manifest in C:\Users\lenovo\AppData\Roaming\pyinstaller\bincache00_py27_64bit\libzmq-mt-4_2_5.dll
106577 INFO: Updating resource type 24 name 2 language 1033
106651 INFO: Redirecting Microsoft.VC90.CRT version (9, 0, 21022, 8) -> (9, 0, 30729, 6161)
174025 INFO: Building PKG (CArchive) PKG-00.pkg completed successfully.
174302 INFO: Bootloader d:\anaconda\envs\py27\lib\site-packages\PyInstaller\bootloader\Windows-64bit\run.exe
174305 INFO: checking EXE
174305 INFO: Building EXE because EXE-00.toc is non existent
174308 INFO: Building EXE from EXE-00.toc
174352 INFO: Appending archive to EXE C:\Users\lenovo\Documents\Python Scripts\csdn\src\dist\plot_time_total_views.exe
174608 INFO: Building EXE from EXE-00.toc completed successfully.

你看多美的successfully!

这里写图片描述

程序有点大,双击效果和我打开cmd,然后python plot_time_totall_views.py一样。

就是不知道能不能在别人的电脑上运行。

下篇博客讲讲如何打包吧~



版权声明:本文为hehedadaq原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。