ImportError: Нет модуля с именем _tkinter, пожалуйста, установите пакет python3-tk

После sudo apt-get upgradeЯ получаю следующую ошибку:

Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
Traceback (most recent call last):
  File "/usr/lib/python3.5/tkinter/__init__.py", line 36, in <module>
    import _tkinter
ImportError: No module named '_tkinter'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.5/tkinter/__init__.py", line 38, in <module>
    raise ImportError(str(msg) + ', please install the python3-tk package')
ImportError: No module named '_tkinter', please install the python3-tk package

я имею python3-tk установлены. Я уже пытался очистить и установить его. Ничего не меняет (Интересно, что /usr/lib/python3.5/tkinter все еще существовал после хулиганства... и удаление его вручную приводило только к другой ошибке)

Как я могу решить эту проблему?

Не решил проблему:

$ sudo apt-get install tk8.6-dev
$ sudo apt-get install python3-tkinter # does not exist
$ sudo apt-get install python3-tk  # exists and is installed

Комментировать ответы

$ ls -l /usr/lib/python3.5/tkinter
total 372
-rw-r--r-- 1 root root   1791 Nov 28 17:50 colorchooser.py
-rw-r--r-- 1 root root   1412 Nov 28 17:50 commondialog.py
-rw-r--r-- 1 root root   1493 Nov 28 17:50 constants.py
-rw-r--r-- 1 root root   1568 Nov 28 17:50 dialog.py
-rw-r--r-- 1 root root  11488 Nov 28 17:50 dnd.py
-rw-r--r-- 1 root root  14502 Nov 28 17:50 filedialog.py
-rw-r--r-- 1 root root   6581 Nov 28 17:50 font.py
-rw-r--r-- 1 root root 162249 Nov 28 17:50 __init__.py
-rw-r--r-- 1 root root    148 Nov 28 17:50 __main__.py
-rw-r--r-- 1 root root   3701 Nov 28 17:50 messagebox.py
drwxr-xr-x 2 root root   4096 Nov 30 08:12 __pycache__
-rw-r--r-- 1 root root   1814 Nov 28 17:50 scrolledtext.py
-rw-r--r-- 1 root root  11424 Nov 28 17:50 simpledialog.py
-rw-r--r-- 1 root root  77014 Nov 28 17:50 tix.py
-rw-r--r-- 1 root root  55839 Nov 28 17:50 ttk.py

При перемещении каталога я получаю:

$ sudo mv tkinter tkinter-backup
$ python3
Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'tkinter'

Больше информации

$ which python3
/usr/bin/python3

$ apt list python3
Listing... Done
python3/xenial,now 3.5.1-3 amd64 [installed]

3 ответа

Пакет python3-tk поддерживает Python версий 3.6 и 3.7, а не 3.5, который используется по умолчанию. Измените ваш Python по умолчанию на поддерживаемую версию, если ваша работа поддерживает это. В противном случае, если вам действительно нужна версия 3.5, вам нужно отследить файлы поддержки.

В моем случае я получал ту же ошибку, что и "ImportError: нет модуля с именем _tkinter" для python3.5, несмотря на следующие действия: - установка python3-tk и tkinter-dev - каталог Tkinter доступен в / USR / Lib/python3.5.

Наблюдаемая ошибка была из следующего файла:

Файл "/usr/local/lib/python3.5/tkinter/init.py", строка 35, в import _tkinter # Если это не удастся, ваш Python может быть не настроен для Tk

Однако, когда я просто запустил питон из / usr / bin, как /usr/bin/python3.5 из терминала, он работал для меня!

Короче говоря, просто убедитесь, что версия python, запущенная из терминала, имеет установленный и настроенный tkinter:)

У меня установлена ​​Ubuntu16.04 в моей системе, которая поставляется по умолчанию с python2.7 и python3.5

Ты пытался import Tkinter (с большой буквы) в вашей программе на Python? Это сделало это для меня.

Другие вопросы по тегам