Nie znaleziono modułu Tkinter w systemie Ubuntu


80
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24) 
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
>>> 

z drugiej strony...

Python 3.2 (r32:88445, Mar 25 2011, 19:28:28) 
[GCC 4.5.2] on linux2
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 

Sprawdziłem synaptic, Tkinter jest zainstalowany. Potem znalazłem to ...

Jeśli nie powiedzie się z komunikatem „Brak modułu o nazwie _tkinter”, konfiguracja Pythona musi zostać zmodyfikowana w celu uwzględnienia tego modułu (który jest modułem rozszerzającym zaimplementowanym w języku C). Nie edytuj modułów / ustawień (jest nieaktualny). Być może będziesz musiał zainstalować Tcl i Tk (jeśli używasz RPM, zainstaluj również -devel RPM) i / lub zmodyfikuj skrypt setup.py, aby wskazywał właściwe lokalizacje, w których jest zainstalowany Tcl / Tk. Jeśli zainstalujesz Tcl / Tk w domyślnych lokalizacjach, po prostu ponownie uruchom "make" i skompiluj rozszerzenie _tkinter.

Zgaduję, że tkinter nadal jest powiązany ze starym Pythonem na moim komputerze. Jak to zmienić, aby Python3 mógł używać tkinter?


19
„sudo apt-get install python3-tk” instaluje tkinter dla Python3 +
— markfknight

Odpowiedzi:


7

Odkąd wspomniałeś o synaptic, myślę, że jesteś na Ubuntu. Prawdopodobnie będziesz musiał uruchomić update-python-modules, aby zaktualizować moduł Tkinter dla Pythona 3.

EDYCJA : Uruchamianie update-python-modules

Najpierw upewnij się, że masz python-supportzainstalowane:

sudo apt-get install python-support

Następnie uruchom update-python-modulesz -aopcją przebudowy wszystkich modułów:

sudo update-python-modules -a

Nie mogę jednak zagwarantować, że wszystkie twoje moduły zostaną zbudowane, ponieważ istnieją pewne zmiany API między Pythonem 2 i Pythonem 3.


19
„sudo apt-get install python-support” prowadzi do następującego błędu: „E: Pakiet 'python-support' nie ma kandydata na instalację”
— jason

5
Miałem również ten sam błąd co @jason, E: Package 'python-support' has no installation candidatechociaż uruchamiam go z dockera (obraz tensorflow). Czy ktoś wiedział, jak to naprawić?
— Charlie Parker

18
@CharlieParker Na Ubuntu 16.04 LTS udało mi się to naprawić doapt-get install python3-tk
— rohitmohta

Dla tych z was, którzy mają E: Package 'X' has no installation candidate, powinniście sudo apt-get updatenajpierw biec .
— Daniel Patrick

294

To, co działało dla mnie w Ubuntu, to tak naprawdę:

sudo apt-get install python3-tk

W przypadku Pythona 3.6:

sudo apt-get install python3.6-tk

Nigdzie nie czytałem, po prostu próbowałem, ponieważ metoda onterii_ wydawała się nie działać dla mnie.


8
Ten pakiet był rzeczywiście potrzebny, ale pamiętaj, że nazwa Tkinterjest teraz tkinterw Pythonie3, więc inne odpowiedzi są nadal aktualne.
— Luke Marlin

pierwsze polecenie, które otrzymuję połączenie nie powiodło się, drugie działa jednak dobrze
— Lost Crotchet

Nie wiem, co się stało, sudo apt-get install python3-tknie działa dla mnie (nadal nie znaleziono tkintera), ale instalacja python3-tkprzez synaptic zadziałała. (Ubuntu 16.04 z Pythonem 3.6)
— Georg

37

Odpowiedź na twoje pytanie brzmi, że nazwa Tkinter została zmieniona na tkinter w pythonie3

czyli z małą literą t


20

W pythonie 3 Tkinter zmienił nazwę na tkinter


To jest odpowiedź na pytanie. PS: Jeśli uruchamiasz skrypt z shebangiem, nie zapomnij użyć "#! / Usr / bin / python3". Na przykład w Ubuntu 12.04 domyślna wersja Pythona to 2.7.3, więc "Tkinter" będzie działać z "#! / Usr / bin / python", ale nie z Pythonem 3.
— rbaleksandar

Po drugie, jest to najlepsza i najprostsza odpowiedź na to pytanie
— Hamman Samuel


13

Użyj następującego polecenia:

sudo apt-get install python3-tk

Następujące polecenia nie działają:

sudo apt-get install python3-tkinter
sudo apt-get install python3-Tkinter
pip3 install Tkinter
pip3 install tkinter

8

Jeśli używasz Ubuntu 18.04 wraz z Pythonem 3.6, pip lub pip3 nie pomogą. Musisz zainstalować tkinterza pomocą następującego polecenia:

sudo apt-get install python3-tk

4

to działa dla mnie:

from tkinter import *
root = Tk()
l = Label(root, text="Does it work")
l.pack()

3

Miałem ten sam problem. Próbowałem użyć:

sudo apt-get install python3-tk

Wystąpił błąd informujący, że blt (> = 2.4z-7) nie jest obecny i nie można go zainstalować.

Poszedłem tutaj i ręcznie go zainstalowałem. (Dla Ubuntu 14.04)

Potem znowu użyłem apt i zadziałało.

Doszedłem do wniosku, że python3.4 w Ubuntu nie zawierał pliku .so wymaganego do przeprowadzenia instalacji. A do jego pobrania potrzebny był blt.


1

Znalazłem to szukając poprawki dla Pythona 3.5.

W moim przypadku budowałem Pythona ze źródła, oto co zrobiłem, aby pomóc naprawić:

Dodaj nagłówki tkinter za pomocą i przebuduj Pythona

sudo apt-get install tk8.6-dev
sudo make

1

Dodanie rozwiązania, które ja do czynienia z python 3.4na Fedora 21. Mam nadzieję, że pomoże to osobom borykającym się z podobnym problemem.

Każde z tych poleceń zainstaluje tkinter:

sudo yum install python3-tkinter
OR
sudo dnf install python3-tkinter

1

Dodawanie rozwiązania dla CentOs 7 (python 3.6.x)

yum install python36-tkinter

Próbowałem każdej możliwej wersji, mam nadzieję, że to pomoże innym.


0

wymóg dla tkintera:

Python 3.6+

i przejdź do powłoki napisz kod testowy, taki jak:

z importu tkinter *

root = Tk ()

root.mainloop ()

wprowadź opis obrazu tutaj

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.