Ошибка загрузки DLL ImportError при импорте _tkinter - PullRequest
29 голосов
/ 04 января 2012

Я использую 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/tclили tkinter, но я не нахожу отдельную установку для windows.

Использование установщика MSI для Windows x86 (2.7) из http://www.python.org/getit/releases/2.7/. В Windows 7 64-bit.Версия Python 32-разрядная.

Ответы [ 12 ]

24 голосов
/ 27 марта 2012

У меня была похожая проблема с импортом Tkinter в 64-битную Windows 7 - похоже, что 64-битная библиотека все еще находилась в папке libs из предыдущей 64-битной установки Python.

Правильная деинсталляция 64-битного Python и последующее восстановление с помощью 32-битного установщика устранили для меня проблему - вам не нужно использовать 64-битный Python.

5 голосов
/ 04 января 2012

Переустановите Python.

Если это все еще не работает, есть другое простое решение:

  1. Удалите текущий Python.Полностью удалите папку Python27 с вашего диска C:.
  2. Загрузите и установите 64-разрядную версию Python из http://www.python.org/download/.
  3. В следующий раз не смешивайте 32-разрядное приложение с64-битная ОС, когда доступен 64-битный выбор для приложения!
3 голосов
/ 05 марта 2014

У меня была та же проблема, и я смог удалить Python 2.7 (используя службу удаления Windows 7), а затем переустановить его отсюда: питон-2.7.6.msi

Кроме того, если вы заинтересованы в обеспечении 64-битного соответствия между вашими библиотеками python, то вам может пригодиться следующий сайт со списком библиотек . Имеет множество 64-битных версий библиотек python.

2 голосов
/ 16 августа 2018

Пожалуйста, не переустанавливайте Python для этого. Простое исправление может решить эту проблему, как показано ниже:

  1. Найдите файл matplotlibrc по адресу Python27 \ Lib \ site-packages \ matplotlib \ mpl-data \ matplotlibrc
  2. Открыть с помощью блокнота
  3. Измените параметр backend на 'backend: Qt5Agg'

И это будет решено. Нет необходимости переустанавливать.

1 голос
/ 19 октября 2017

У меня была похожая проблема.Моя версия 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 бита), и это, похоже, решило мою проблему.Я больше не получаю это сообщение об ошибке.

1 голос
/ 21 августа 2017

решено без переустановки чего-либо :

1 - добавьте эти 3 строки в файл setup.py:

...
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(
... 
) 

2- copytcl86t.dll и tk86t.dll от C:\<your python folder>\DLLs до <your project folder> (где у вас есть пакетный файл, setup.py).

3- добавьте "include_files": ["tcl86t.dll", "tk86t.dll"] к option вваш setup.py, что-то вроде:

options= { 'build_exe':{'packages':[.....], "include_files": ["tcl86t.dll", "tk86t.dll"]}},

примечание: , если вы не нашли tcl86t.dll и tk86t.dll в папке DLLs, как упомянуто в шаге 2, затем повторите попытку поиска, но на этот раз используйте вкладку исследования в папке DLL.

0 голосов
/ 22 октября 2018

Если Python установлен с помощью OsGeo4W , вам также следует установить пакеты python-tcltk и / или python3-tcltk в инструменте установки OsGeo4W.

0 голосов
/ 19 июня 2018

Я получал эту ошибку при попытке использовать matplotlib в простом приложении.

Удалите Python и удалите его папку с вашего C-Drive. Загрузите и установите 64-битный питон. Следуйте этому, чтобы установить pip на свой компьютер. http://www1.cmc.edu/pages/faculty/alee/cs40/penv/installFlaskOnWindows.html Это было наконец то, что сработало для меня

0 голосов
/ 11 июня 2018

Для Windows 10

  1. Удалить все версии Python
  2. Установить Python 3.x (ваша последняя версия) с переменной PATH
  3. python -mpip install -U matplotlib
  4. Установить Python xx (другие ваши версии) без переменной PATH

Готово.Попробуйте запустить ваши сценарии снова.

0 голосов
/ 04 июня 2018

Я также встречался с этой проблемой, потому что я использую 64-битный питон.Может быть, Python 64-bit не имеет хорошей поддержки.

Мой способ решить эту проблему:

  1. Удалить Python 64-bit.
  2. Установить Python 32-bit.
  3. Удалите 64-разрядный пакет.pip uninstall xxx.
  4. Установить 32-разрядный пакет.pip install xxx.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...