Установите tkinter для Python

278

Я пытаюсь import Tkinter. Однако я получаю сообщение об ошибке, Tkinterкоторое не установлено:

ImportError: No module named _tkinter, please install the python-tk package

Вероятно, я мог бы установить его с помощью Synaptic Manager (можно?), Однако мне пришлось бы устанавливать его на каждую машину, на которой я программирую. Можно ли добавить библиотеку Tkinter в мое рабочее пространство и ссылаться на нее оттуда?

Каран
источник
Решение, предложенное в ответе, сработало для вас? Это не для меня: E: Unable to locate package python-tkу Anyomne была эта проблема?
Чарли Паркер
8
Для чего это стоит, если вы получаете эту ошибку с matplotlib ней не всегда необходимо установить Tkinter. Звоните matplotlib.use('Agg')сразу после импорта matplotlib.
Даниэль Ф,
7
Вы можете использовать, import matplotlib matplotlib.use('agg') import matplotlib.pyplot as pltесли вы не хотите устанавливатьtkinter
markroxor
6
Если вы используете python3.6dosudo apt-get install python3.6-tk

Ответы:

405

Нелегко установить Tkinter локально для использования с предоставленным системой Python. Вы можете создать его из исходников, но обычно это не лучшая идея для дистрибутива на основе бинарных пакетов, который вы, очевидно, используете.

Это безопаснее apt-get install python-tkна вашей машине (машинах). (Работает с дистрибутивами, производными от Debian, например для Ubuntu; обратитесь к вашему менеджеру пакетов и списку пакетов в других дистрибутивах.)

9000
источник
2
@BryanOakley: Конечно. У постера, казалось, была подходящая коробка Linux, таким образом, ответ. Это выглядело как узкая проблема. Я не ожидал, что этот ответ получит так много голосов.
9000
62
А для python3 apt-get install python3-tkна момент написания этого комментария для Ubuntu
15.04
1
Я также сделал это для Python3.4 и Ubuntu 15.04:apt-get install python3-tk
Хасан Кетаби
4
Только что выполнил это упражнение на Mint18 (взято из 16.04 Ubuntu), и это было doubleplusgood. sudo apt install -y python3-tk
Преподобный
Как установить tkinter из источников? У меня есть tcl / tk, проверено с помощью wish. Я не могу найти исходный архив для tkinter.
Лапин
83

На самом деле, вам просто нужно использовать следующее для установки tkinter для python3:

sudo apt-get install python3-tk

Кроме того, для пользователей Fedora используйте следующую команду:

sudo dnf install python3-tkinter
Нил
источник
2
Спасибо! Это на самом деле требует Python3-TK, а не Python-TK.
ЗКАН
Если вы новичок в Linux, как я, учтите, что если у apt-get возникают проблемы с поиском / установкой python3-tk, попробуйте sudo apt-get updateсначала запустить . В моей 32-битной системе Linux Mint 18.3 Synaptic и apt-get требуют этого чаще, чем я предполагал ...
RBV
Я получаю, что python3-tk уже является самой новой версией (3.5.1-1), и когда я импортирую tkinter, я все еще получаю: ModuleNotFoundError: нет модуля с именем 'tkinter', который я использую (Python 3.7.5)
sqp_125
Решение: sudo apt-get установить python3.7-tk
sqp_125
66

Если, как и я, у вас нет привилегий суперпользователя в вашей сети из-за ваших замечательных друзей в IS, и вы работаете в локальной установке, у вас могут возникнуть проблемы с вышеуказанными подходами.

Я провел целую вечность в Google - но, в конце концов, это легко.

Загрузите tcl и tk с http://www.tcl.tk/software/tcltk/download.html и установите их также локально.

Для локальной установки в Linux (я сделал это в своем домашнем каталоге), распакуйте файлы .tar.gz для tcl и tk. Затем откройте файлы readme в каталоге ./unix. Я побежал

cd ~/tcl8.5.11/unix
./configure --prefix=/home/cnel711 --exec-prefix=/home/cnel711
make
make install

cd ~/tk8.5.11/unix
./configure --prefix=/home/cnel711 --exec-prefix=/home/cnel711 --with-tcl=/home/cnel711/tcl8.5.11/unix
make
make install

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

Затем перезапустите python setup.py buildи python setup.py installв вашем установочном каталоге python - и это должно работать. Это сработало для меня - и теперь я могу импортировать Tkinter и т. Д. В свое удовольствие - yipidy-yay. Целый день ушел на это - надеюсь, эта записка спасет других от боли.

Саймон
источник
2
Привет Саймон. Я просто схожу с корабля Linux. Мне нужно установить tcl / tk и python локально. Я хочу установить их в "/ home / cnel711 / install /". После установки tcl / tk. я должен установить путь для Python? и как. Я также использую ./configure для установки python. спасибо
Самуил
Привет, я уже установил tcl / tk локально, и я перестроил Python. Но при сборке python (локально) я получаю сообщение об ошибке: libtk8.6.so: невозможно открыть общий объектный файл: нет такого файла или каталога, и что модуль _tkinter не был собран. Я даже пытался установить путь к моим библиотекам tcl / tk, --with_tcltk_libsно это не помогло.
Ривенделл
7
На какой файл setup.py вы ссылаетесь? Где я могу найти это? Я там потерян.
Дэвид Меринос
1
@DavidMerinos, я полагаю, setup.pyфайл должен быть найден в исходном каталоге, где вы изначально установили Python - именно там я его и нашел. Если вы не удалили его, но забыли, где находится этот каталог, вы можете запустить find ~ -type f -name setup.pyкоманду из любой точки вашей оболочки.
Acsor
4
У меня более 100 файлов с именем setup.pyна моей машине. О ком ты говоришь?
17
40

Если вы используете Python 3, это может быть потому, что вы печатаете Tkinterнеtkinter

user1497423
источник
Я на Windows, и это легко решило мою проблему. :)
Ян Чжао
22

Для пользователей Arch Linux это немного похоже на

sudo pacman -S tk
yermama
источник
22

вам понадобится пакет и его зависимости.

так как вы упомянули synaptic, вы должны использовать систему на основе Debian. один способ получить то, что вам нужно:

sudo apt-get install python-tk
Кори Голдберг
источник
E: Unable to locate package python-tkбыла ли у кого-нибудь эта проблема?
Чарли Паркер
@CharlieParker находится в основных репозиториях Ubuntu: packages.ubuntu.com/python-tk
Кори Голдберг,
@CharlieParker да - у меня есть и еще не разобрались
Эшли
16

Как сказано здесь , для Python 2.7:

Вам не нужно скачивать Tkinter - это неотъемлемая часть всех дистрибутивов Python (кроме бинарных дистрибутивов для платформ, которые не поддерживают Tcl / Tk).

В моем случае в Windows помогла переустановка дистрибутива Python. Вероятно, давным-давно я отключил функцию установки "Tcl / Tk". После переустановки все работает нормально а я могу import _tkinterи import Tkinter.

BartoszKP
источник
10

Если вы используете RHEL, CentOS, Oracle Linux и т. Д. Вы можете использовать yum для установки модуля tkinter

yum install tkinter
Джонатан Л
источник
3
Имейте в виду, что это устанавливается tkinterдляpython2
confused00
1
Fedora с питоном 3.5:sudo dnf install python3-tkinter
Джордан Стюарт
На CentOS 7 я установил tkinter, но мой python по умолчанию (2.7) по-прежнему жалуется на «Нет модуля с именем tkinter»!
Нимар
5

tk-devel также должен быть установлен в моем случае

yum install -y tkinter tk-devel

установить их и восстановить Python

JasonWayne
источник
4

для пользователя python3: установите пакет python3-tk, выполнив следующую команду sudo apt-get install python3-tk

М. Балсилар
источник
3

Если вы используете, Python 3то вы должны установить следующим образом:

sudo apt-get update
sudo apt-get install python3-tk

Tkinter for Python 2( python-tk) отличается от Python 3's ( python3-tk).

gon1332
источник
Зачем обновлять перед обновлением? И это повлияет на гораздо больше программного обеспечения, чем просто python / tk.
Мэтью Читал
1
@ MatthewRead Я изменил это. Я оставил его там случайно, а вы правы. Я не имею ничего общего с процессом установки Tk.
gon1332
E: Unable to locate package python3-tkу тебя было это?
Чарли Паркер
@CharlieParker python3-tkсуществует в диспетчере пакетов XUbuntu 16.04.
gon1332
3

Выпуск Fedora 25 (Двадцать пять)

dnf install python3-tkinter

Это сработало для меня.

NIK
источник
Это сохраняется и на F26.
mikeymop
3

Для Python 3.7 на Ubuntu я должен был использовать, sudo apt-get install python3.7-tkчтобы это работало

ИЛИАС
источник
3

Если вы хотите установить его, вам нужно зайти в свой терминал и набрать: -

sudo apt-get python-tk

И если вы хотите обновить существующий пакет или Python в этом случае, введите: -

sudo apt-get update 

Тогда все ваши пакеты будут обновлены. И если вы хотите удалить пакет, просто введите: -

sudo apt-get remove [package name]#in this case python-tk
Микияс Айеле
источник
1
неверная информация в этом ответе. sudo apt-get python-tkнедопустимая команда ты наверное имел ввиду sudo apt-get install python-tk. Кроме того, sudo apt-get updateничего не обновляется, он просто обновляет список локальных пакетов. вам нужно запустить upgradeили dist-upgradeобновить пакеты.
Кори Голдберг
2

Существуют _tkinter и Tkinter - оба работают на Py 3.x, но для безопасности загрузите Loopy и измените корневой каталог python (если вы используете IDE, например PyCharms) на установочный каталог Loopy. Вы получите эту библиотеку и многое другое.

Артур Кеннеди Отиено Джонио
источник
невменяемым? ОП никогда не упоминал об этом
Кори Голдберг
2

Ситуация в macOS все еще немного сложна , но выполнима:

Python.org настоятельно рекомендует загрузить tkinter из ActiveState , но вы должны сначала прочитать их лицензию (подсказка: не распространяйте и не обращайтесь за поддержкой).

Когда загрузка началась, OS X 10.11 отклонила ее, потому что не смогла найти мою квитанцию: «ActiveTcl-8.6.pkg не может быть открыт, потому что она от неизвестного разработчика».

Я следовал за исправлением OSXDaily от 2012 года, которое предлагало разрешить откуда угодно. Но OS X теперь добавил опцию «Открыть в любом случае», чтобы разрешить (например) Active-Tcl в качестве однократного отключения, а опция «Везде» получила тайм-аут.

Новое предупреждение для "Anywhere"

jalanb
источник
2

Tkinter - это графический интерфейс для Python. Вы можете использовать его для создания приложений на GUI в Python. Tkinter предоставляет несколько графических виджетов GUI, таких как кнопки, меню, холст, текст, фрейм, метки и т. Д., Для разработки приложений для настольных компьютеров. Хотя Tkinter очень популярен и входит в состав Windows, Macosx устанавливает python. Есть также альтернативные варианты, такие как pyQt, wxPython. ..

В этом уроке мы увидим, как установить его на Linux и использовать его с примером.

Сначала проверьте, установлен ли у вас Python, а также проверьте его версию.

Откройте свой терминал и наберите python. если он установлен, то он покажет информацию, такую ​​как версия, помогите ... проверьте вашу версию (у меня python 2.7.9)

aman @ vostro: ~ $ python Python 2.7.9 (по умолчанию, 2 апреля 2015 г., 15:33:21) [GCC 4.9.2] в linux2 Введите «помощь», «авторское право», «кредиты» или «лицензия» для получения дополнительной информации. Информация.

Если у вас нет python, установите его sudo apt-get install python

Если вы хотите установить Python 3, введите следующее. Если вы новичок, я бы порекомендовал python 2 вместо python 3. Python 2 по-прежнему очень популярен, и на нем создано много приложений. В Ubuntu Python2 по-прежнему используется по умолчанию. Sudo apt-get install python3

Наконец, установите Tkinter

sudo apt-get install python-tk

для питона 3

sudo apt-get install python3-tk

Как это использовать

Теперь давайте проверим, хорошо ли работает Tkinter на этом небольшом примере.

откройте свой терминал и войдите в вашу оболочку python. питон

для python3 python3

Если Python был установлен правильно, вы получите приглашение >>>. aman @ vostro: ~ $ python

Python 2.7.9 (default, Apr  2 2015, 15:33:21)
[GCC 4.9.2] on linux2

Type "help", "copyright", "credits" or "license" for more information.
>>>

Теперь импортируем модуль Tkinter. он не будет отображать ошибки, если он был импортирован правильно. ПРИМЕЧАНИЕ. Убедитесь, что вы вводите Tkinter (не tkinter) в python2 и tkinter (не Tkinter) в python3.

>>>import Tkinter

Теперь просто для проверки вы можете создать пустое окно, используя Tkinter.

>>>Tkinter.Tk()
Соня Рани
источник
1

Для Fedora> = 25 и python> = 3 нам может потребоваться включить зависимости для Tkinter

sudo dnf install python3-tkinter

AB Abhi
источник
0

пишите tkinter не Tkinter (Tkinter для Python 2, Tkinter для Python 3)

Giovanni G. PY
источник
-3

Если у вас есть Python 3.7.2, вам не нужно ничего устанавливать, просто введите точно:

from tkinter import *
BE Официальный
источник
Это то, что плакат с вопросом не работал.
PythonLuaMaster