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.