matplotlib 1.3.0 ImportError:DLL加载失败:%1不是有效的Win32应用程序

时间:2013-09-19 14:56:56

标签: python dll windows-7 matplotlib 64-bit

我有2台(笔记本电脑和工作站),当我运行代码进行版本检查时,我上笔记本电脑:

computer
LAPTOP
OS props
Windows-7-6.1.7601-SP1
python props
('default', 'May 15 2013 22:44:16')
python version
2.7.5
OS bit and OS type
('64bit', 'WindowsPE')
check if system is 32bit or 64bit
('7fffffffffffffff', True)
numpy version
1.7.1
matplotlib version
1.3.0

并在工作站上:

computer
WORKSTATION
OS props
Windows-7-6.1.7601-SP1
python props
('default', 'May 15 2013 22:44:16')
python version
2.7.5
OS bit and OS type
('64bit', 'WindowsPE')
check if system is 32bit or 64bit
('7fffffffffffffff', True)
numpy version
1.7.1
matplotlib version
1.3.0
除了一些额外的软件包之外,软件主要是相同的。但是当我尝试在工作站计算机上运行以下代码时:

import numpy as np
import matplotlib
# matplotlib.use('QTAgg')
from matplotlib import pyplot as plt

我收到以下错误:

Traceback (most recent call last):
  File "C:\Users\WORKSTATION\python\src\gibljiv_kontakt_E11_vzmet\preview_and_sort_measurement_data.py", line 9, in <module>
    from matplotlib import pyplot as plt
  File "C:\Python27\lib\site-packages\matplotlib\pyplot.py", line 98, in <module>
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File "C:\Python27\lib\site-packages\matplotlib\backends\__init__.py", line 28, in pylab_setup
    globals(),locals(),[backend_name],0)
  File "C:\Python27\lib\site-packages\matplotlib\backends\backend_tkagg.py", line 8, in <module>
    import Tkinter as Tk, FileDialog
  File "C:\Python27\lib\lib-tk\Tkinter.py", line 38, in <module>
    import FixTk
  File "C:\Python27\lib\lib-tk\FixTk.py", line 65, in <module>
    import _tkinter
ImportError: DLL load failed: %1 is not a valid Win32 application

我想知道出了什么问题,如何修复?如果我取消注释该行,代码可以工作(它不会返回任何错误):

matplotlib.use( 'QTAgg')

但是当我使用它来显示图时,没有显示图。任何建议有什么问题以及如何解决这个问题。 我想补充一点,就像一个月前我在工作站计算机上更新了python和python的软件包之前,matplotlib工作没有问题,但现在我收到了这个错误。

7 个答案:

答案 0 :(得分:5)

我已经解决了这个问题。这是解决方案程序:

  1. 卸载python 2.7.5(64位)
  2. 重启PC
  3. 安装python 2.7.5(64位)
  4. 重启PC
  5. 它应该正常工作
  6. 如果我在卸载时选择了修复选项,则无法解决问题。谢谢你的帮助@cgohlke。

答案 1 :(得分:1)

我刚才经历过类似的事情。但后来我意识到我不小心将64位Matplotlib安装到一个32位的Python发行版中[在额头上自拍]。我立即卸载了Matplotlib并重新安装了32位版本,现在它运行得非常好。 : - )

答案 2 :(得分:0)

安装Anaconda后,我卸载了之前安装的其他版本的python,并从C:\ Python目录中删除了旧库。现在它正在发挥作用。

答案 3 :(得分:0)

如果您想避免重新安装Python,请使用以下代码将后端更改为QT4。在将代码添加到代码之前,请记住安装PySide和PyQt4软件包。

import matplotlib
matplotlib.use('QT4Agg')
import matplotlib.pyplot as plt

答案 4 :(得分:0)

我在Windows 10中安装了Anaconda3。 我在管理模式下使用了powershell。

然后我只是

pip uninstall matplotlib

然后,

pip install matplotlib

它适用于我的情况。

答案 5 :(得分:0)

请检查您的口译员。该错误表示您使用的软件不正确。可能是您的解释器是针对32位的,但您使用的是64位的matplotlib和python,或其中不匹配的任何解释器。刚刚解决了我的问题。添加新的64位版本的解释器。

答案 6 :(得分:0)

执行以下操作:

  1. 打开命令提示符
  2. 键入命令-> pip uninstall matplotlib,然后重新安装