ImportError DLL加载导入_tkinter失败

时间:2012-01-04 09:40:55

标签: python windows tkinter

我正在使用python 2.7.2和Windows 7.我通过互联网搜索,帮助和其他来源,但我找不到我的问题的答案。

我的一个源导入tkinter,这个导入_tkinter。此时它会说ImportError DLL load failed

 Traceback (most recent call last): File "NERO/show_image.py", line 13,
 in <module> import Tkinter 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.
 2012-Jan-04 12:27:21.889374 (M) [python] Finished process 

我搜索了_tkinter,我发现它在Python27 / libs中作为lib文件。

在许多网站上,它说要安装tk/tcltkinter,但我找不到单独的Windows安装。

使用http://www.python.org/getit/releases/2.7/中的Windows x86 MSI安装程序(2.7)。在Windows 7 64位。 python版本是32位。

12 个答案:

答案 0 :(得分:24)

我在Windows 7 64位上导入Tkinter时出现了类似的问题 - 似乎64位库仍然在以前的64位python安装的libs文件夹中。

正确卸载64位python然后使用32位安装程序进行修复为我修复了问题 - 您不需要使用64位python。

答案 1 :(得分:5)

重新安装Python。

如果这仍然不起作用,还有另一个简单的解决方案:

  1. 卸载当前的python。完全从Python27驱动器中删除C:文件夹。
  2. http://www.python.org/download/下载并安装64位版本的Python。
  3. 每当有64位应用程序可用时,下次不要将32位应用程序与64位操作系统混用!

答案 2 :(得分:3)

我有同样的问题,能够卸载Python 2.7(使用Windows 7'卸载'服务),然后从这里重新安装: python-2.7.6.msi

此外,如果您担心确保跨python库的64位一致性,那么您可能会发现以下library list site to be a great resource。它有许多64位版本的python库。

答案 3 :(得分:2)

请不要为此重新安装Python。一个简单的修复程序可以解决以下问题:

  1. 在Python27 \ Lib \ site-packages \ matplotlib \ mpl-data \ matplotlibrc中找到matplotlibrc文件
  2. 使用记事本打开
  3. 将backend参数更改为'backend:Qt5Agg'

它将解决。无需重新安装。

答案 4 :(得分:1)

已解决,无需重新安装任何内容

1 - 将这3行添加到setup.py:

<a href="#"><img id="visit_image" src="" width="350" height="350" 
                onmouseover="this.src=???"
                onmouseout="this.src=???"></a>

2 - ... import os os.environ['TCL_LIBRARY']= r'C:\<your python folder>\tcl\tcl8.6' os.environ['TK_LIBRARY'] = r'C:\<your python folder>\tcl\tk8.6' ... setup( ... ) tcl86t.dlltk86t.dll复制到C:\<your python folder>\DLLs(您有批处理文件setup.py)。

3 - 在您的setup.py中将<your project folder>添加到"include_files": ["tcl86t.dll", "tk86t.dll"],例如:

option

注意:如果您在步骤中未提及options= { 'build_exe':{'packages':[.....], "include_files": ["tcl86t.dll", "tk86t.dll"]}}, 文件夹中找不到 tcl86t.dll tk86t.dll 2,然后再次尝试搜索它,但这次使用DLLs文件夹中的研究选项卡。

答案 5 :(得分:1)

我有类似的问题。我的Python版本是2.7.12和64位,我使用的是Windows 10,64位操作系统。 我试图导入Tkinter,我得到的是

ImportError: DLL load failed: %1 is not a valid Win32 application

我卸载了Python并删除了它的所有痕迹。然后我安装了Python 2.7.14(32位),这似乎解决了我的问题。我不再收到此错误消息。

答案 6 :(得分:0)

我的机器上安装了很多python软件包,所以我不想卸载并重新安装整个python,我按照以下方式做了,问题解决了:

  1. 将您的C:\ Python27主文件夹更改为其他名称,例如C:\ Python27_old

  2. 在您的计算机上安装新的Python27(32位)

  3. 将tcl和DLLs文件夹从全新安装的python复制到旧文件夹(在此步骤之前复制一个tcl和C:\ Python27_old的DLL,以便在接下来的步骤中遇到任何问题时恢复它) / p>

  4.   

    C:\ Python27 \ tcl复制并替换为C:\ Python27_old

         

    C:\ Python27 \ DLLs复制并替换为C:\ Python27_old

    1. 删除C:\ Python27
    2. 将C:\ Python27_old重命名为C:\ Python27
    3. 请注意从tcl和DLLs文件夹中获取备份,以便在遇到任何进一步问题时将其恢复。

答案 7 :(得分:0)

删除64位python并对32位python进行修复对我有用。操作系统:64位Windows Server 2008。

答案 8 :(得分:0)

我也遇到过这个问题,因为我使用的是64位python。也许python 64-bit并没有很好的支持。

我的方法是解决它:

  1. 卸载python 64位。
  2. 安装python 32位。
  3. 卸载64位软件包。 pip uninstall xxx
  4. 安装32位软件包。 pip install xxx

答案 9 :(得分:0)

对于Windows 10,

  1. 卸载所有版本的Python
  2. 使用PATH变量
  3. 安装Python 3.x(您的最新版本)
  4. python -mpip install -U matplotlib
  5. 安装不带PATH变量的Python x.x(您的其他版本)
  6. 完成。尝试再次运行脚本。

答案 10 :(得分:0)

尝试在简单的应用程序中使用matplotlib时出现此错误。

卸载Python并从C-Drive中删除其文件夹。  下载并安装64位python。 按照此操作在您的机器上安装pip。 http://www1.cmc.edu/pages/faculty/alee/cs40/penv/installFlaskOnWindows.html 这终于对我有用了

答案 11 :(得分:0)

如果Python是由OsGeo4W安装的,那么您还应该在OsGeo4W设置工具中安装python-tcltk和/或python3-tcltk软件包。