Встановіть tkinter для Python


277

Я намагаюся import Tkinter. Однак я отримую помилку із зазначенням, що Tkinterне встановлено:

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

Я, ймовірно, міг би встановити його за допомогою синаптичного менеджера (чи можу я?), Проте мені доведеться встановлювати його на кожній машині, на якій я програму. Чи можна було б додати бібліотеку Tkinter до моєї робочої області та посилати її звідти?


рішення запропонована відповідь працює для u? Це не було для мене: E: Unable to locate package python-tkчи мав хтось це питання?
Чарлі Паркер

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; зверніться до менеджера пакунків та списку пакунків для інших дистрибутивів.)


2
@BryanOakley: Безумовно. Плакат, здавалося, мав влучну вікно Linux, таким чином, відповідь. Це виглядало як вузька проблема. Я не очікував, що ця відповідь отримає стільки відгуків.
9000

62
А для python3 apt-get install python3-tkпід час цього коментаря для ubuntu 15.04
jmunsch

1
Я також робив це для python3.4 та ubuntu 15.04:apt-get install python3-tk
hassan ketabi

4
Щойно зробив цю вправу на Mint18 (походить від 16.04 Ubuntu), і це було подвійним плюсом. 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.
zkan

Якщо ви новачок у 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 install python3.7-tk
sqp_125

66

Якщо, як і я, у вас немає кореневих привілеїв у вашій мережі через ваших чудових друзів в ІС, і ви працюєте в локальній установці, у вас можуть виникнути проблеми з вищезазначеними підходами.

Я витратив віки в 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але це не допомогло.
rivendell

7
Який файл setup.py ви маєте на увазі? Де я можу його знайти? Я там загубився.
Девід Мерінос

1
@DavidMerinos, я вважаю, що setup.pyфайл можна знайти у вихідному каталозі, де ви спочатку встановили Python - саме там я його знайшов. Якщо ви не видалили його, але забули, де знаходиться цей каталог, ви можете запустити find ~ -type f -name setup.pyкоманду з будь-якого місця вашої оболонки.
Acsor

4
У мене понад 100 файлів, названих setup.pyна моїй машині. Про кого ви говорите?
jodag



22

вам знадобиться пакет та його залежності.

оскільки ви згадали про синаптичність, ви повинні використовувати систему на базі Debian. один із способів отримати те, що вам потрібно:

sudo apt-get install python-tk

E: Unable to locate package python-tkхто-небудь мав це питання?
Чарлі Паркер

@CharlieParker це в основному РЕПО Ubuntu: packages.ubuntu.com/python-tk
Corey Goldberg

@CharlieParker так - я це ще не розібрав
ashley

15

Для Python 2.7:

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

як сказано тут . У моєму випадку в Windows, що допомогло перевстановити дистрибутив Python. Напевно, дуже давно я зняв функцію установки "Tcl / Tk". Після перевстановлення все працює добре, і я можу import _tkinterі import Tkinter.


10

Якщо ви використовуєте RHEL, CentOS, Oracle Linux тощо. Ви можете використовувати yum для встановлення модуля tkinter

yum install tkinter

3
Майте в виду , що ця установка tkinterдляpython2
confused00

1
Федора з пітоном 3,5:sudo dnf install python3-tkinter
Джордан Стюарт

На CentOS 7 я встановив tkinter, але все ще мій стандартний python (2.7) скаржиться на "Немає модуля з ім'ям tkinter"!
Німар

5

tk-devel також потрібно встановити в моєму випадку

yum install -y tkinter tk-devel

встановіть ці і відновіть python


4

для користувача python3 встановіть пакунок python3-tk, виконавши наступну команду sudo apt-get install python3-tk


3

Якщо ви користуєтесь, Python 3то слід встановити наступне:

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

Tkinter для Python 2( python-tk) відрізняється від Python 3's ( python3-tk).


Чому оновлення перед оновленням? І це вплине на набагато більше програмного забезпечення, ніж просто 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

Це працювало для мене.


Це зберігається і на 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 , але ви повинні прочитати їх ліцензію спершу (підказка: не перерозподіляйте і не підтримки).

Після завантаження завантаження ОС X 10.11 відхилила його, оскільки не могла знайти мою квитанцію: "ActiveTcl-8.6.pkg не можна відкрити, оскільки це від невстановленого розробника".

Я дотримувався виправлення OSXDaily з 2012 року, який пропонував дозволити з будь-якого місця. Але OS X тепер додала опцію "Відкрити все одно", щоб дозволити (наприклад) Active-Tcl як разовий вимикач, а параметр "Anywhere" отримав тайм-аут.

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


2

Tkinter - це модуль GUI для python. Ви можете використовувати його для створення додатків на основі GUI в python. Tkinter надає кілька віджетів графічного інтерфейсу, таких як кнопки, меню, полотно, текст, рамка, мітка тощо для розробки програм для настільних ПК. Хоча Tkinter дуже популярний і входить до вікон, встановлення python в macosx, також є альтернативні варіанти, такі як pyQt, wxPython. ..

У цьому підручнику ми побачимо, як встановити його на Linux і використовувати його на прикладі.

Спочатку перевірте, чи встановлений у вас 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



Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.