Подтвердить что ты не робот

Ошибка загрузки ImportError DLL без импорта _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/tcl или tkinter, но я не вижу отдельной установки для окон.

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

4b9b3361

Ответ 1

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

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

Ответ 2

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

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

Ответ 3

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

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

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

Ответ 4

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

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

Ответ 5

РЕШЕНО без переустановки:

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 - скопировать tcl86t.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.

Ответ 6

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

Ответ 7

У меня на моем компьютере установлено множество пакетов python, поэтому я не хотел unistall и переустанавливать весь python, я сделал следующее, и проблема была решена:

  • Измените домашнюю папку C:\Python27 на другое имя, например C:\Python27_old

  • Установите новый Python27 на свой компьютер (32 бит)

  • Скопируйте папку tcl и DLL из нового установленного python в старый (перед этим шагом сделайте копию tcl и DLL C:\Python27_old, чтобы восстановить ее, если вы столкнулись с какой-либо проблемой в следующих шагах)

C:\Python27\tcl Скопировать и заменить на C:\Python27_old

C:\Python27\DLL Скопируйте и замените на C:\Python27_old

  1. Удалить C:\Python27
  2. Переименуйте C:\Python27_old в C:\Python27

Обратите внимание, чтобы получить резервную копию вашей папки tcl и DLL, чтобы восстановить ее, если у вас возникнут какие-либо проблемы.

Ответ 8

Удаление 64-битного питона и выполнение ремонта на 32-битном python сработало для меня. ОС: 64-разрядная версия Windows Server 2008.

Ответ 9

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

Мой способ решить его:

  1. Удалите python 64-bit.
  2. Установите python 32-bit.
  3. Удалите 64-разрядный пакет. pip uninstall xxx.
  4. Установите 32-разрядный пакет. pip install xxx.

Ответ 10

Для Windows 10,

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

Готово. Повторите попытку запуска скриптов.

Ответ 11

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

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

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