ImportError: без имени '_tkinter', пожалуйста, установите пакет python3-tk
Я новичок в Ubuntu и Linux в целом.
Я создал операционную систему с двойной загрузкой на своем ноутбуке (Windows 10 и Ubuntu).
- Typing:
sudo apt-get install python3-tk
(или дажеpython-tk
) не работал. - Пытаюсь установить
python3-dev
или жеpython-devel
(неудачно). - Загрузка Tcl и Tk для ручной установки.
В подсистеме Bash Windows 10 Tk и Tcl уже включены, поэтому я подумал, что в Ubuntu они уже есть. Но я хочу использовать свой рабочий стол Ubuntu для разработки приложений Python GUI.
Итак, как я могу установить Tcl/Tk для использования в Python 3.5 для разработки GUI?
Я загрузил Python 3.5.2 нормально, но мне нужны модули с графическим интерфейсом.
Код для проверки работоспособности Tk:
- Тип
python3
Тип:
import tkinter tkinter._test()
Результат: всплывающее окно с графическим интерфейсом
This is a Tcl/Tk version..
4 ответа
sudo apt-get install python3-tk
Установлено tkinter
для Python3.xx
Источники:
https://stackoverflow.com/questions/6084416/tkinter-module-not-found-on-ubuntu https://pythonprogramming.net/python-3-tkinter-basics-tutorial/
Примечание - для виртуальной среды Python 3.6 с системой Python 3.5 мне пришлось установить;
sudo apt-get install python3.6-tk
Мой стандартный питон в Ubuntu был 3.5, поэтому при использовании venv для 3.6 я получаю ошибку импорта. Некоторое время сводил меня с ума.
[Изменить: В ответ на старейшин очень разумная просьба]
Репозиторий для python3.6-tk (в моем случае) был таким же, как и для python 3.6
sudo add-apt-repository ppa:deadsnakes/ppa
Вышеупомянутый репозиторий имеет пакет python3.6-tk, доступный как для xenial, так и для trusty, а также совсем недавно выпущенный выпуск Python 3.7.0 beta 2.
Однако этот ответ будет датирован, как только версия 3.6+ станет основной в Ubuntu, так как я подозреваю, что она будет в основном репозитории.
В моем случае я получал ту же ошибку, что и "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
Это может быть интересно при установке из исходных текстов (чего не делает большинство пользователей Python):
После установки ткл и тк.
Вернитесь к своей версии Python, сделайте make
, И, если несколько версий python
существовать, сделать make altinstall
,
- Откройте Python3.5
тип:
import tkinter tkinter._test()
Результаты в порядке - графический интерфейс пользователя открыт и работает, как и ожидалось.
Установка только библиотечных файлов может не работать, так как вы хотите использовать саму библиотеку, а не разрабатывать ее.
Это сработало для меня:
$ sudo apt install tk8.6-dev