Встановіть 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.