【问题标题】:matplotlib 1.3.0 ImportError: DLL load failed: %1 is not a valid Win32 applicationmatplotlib 1.3.0 ImportError:DLL 加载失败:%1 不是有效的 Win32 应用程序
【发布时间】:2013-09-24 17:47:56
【问题描述】:

我有 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 可以正常工作,但现在我收到了这个错误。

【问题讨论】:

  • @cgohlke 感谢您的建议。我在建议的目录中搜索了两个文件,但没有找到。如何检查/查看 windows DLL 搜索路径 elswhere 中是否有文件?希望有办法解决这个问题。
  • @cgohlke 我查看了系统变量:mycoputer/properties/addvanced 系统设置/更多(或附加-我没有英文窗口)/环境变量/系统变量/路径-这是你建议什么?我需要寻找什么?
  • 我在路径 c:\Python27\DLLs\ 上找到了文件(TCL85.DLL 和 TK85.DLL)

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


【解决方案1】:

如下操作:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 这个答案是已经存在的其他答案的重复,并且没有添加任何新的 IMO。
    【解决方案3】:

    我已经解决了这个问题。解决方法如下:

    1. 卸载python 2.7.5(64位)
    2. 重启电脑
    3. 安装python 2.7.5(64位)
    4. 重启电脑
    5. 它应该可以工作

    如果我在卸载时选择了修复选项,它并没有解决问题。感谢您的帮助@cgohlke。

    【讨论】:

    • 不,卸载一次,重新安装一次。重新启动两次。这对我有用。如果您有多个版本的 python(例如,2.7.1 和 2.7.15),请将它们全部卸载,重新启动,重新安装您想要的版本,重新启动。那么应该可以工作了。
    【解决方案4】:

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

    那我就

    pip uninstall matplotlib
    

    然后,

    pip install matplotlib
    

    它在我的情况下有效。

    【讨论】:

      【解决方案5】:

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

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

      【讨论】:

        【解决方案6】:

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

        【讨论】:

          【解决方案7】:

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

          【讨论】:

            猜你喜欢
            • 2014-12-25
            • 2013-11-09
            • 2016-02-01
            • 2014-01-28
            • 2020-08-22
            • 2015-09-07
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多