Installa tkinter per Python


278

Ci sto provando import Tkinter. Tuttavia, viene visualizzato un errore che indica che Tkinternon è stato installato:

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

Probabilmente potrei installarlo usando Synaptic Manager (posso?), Tuttavia, dovrei installarlo su ogni macchina su cui programma. Sarebbe possibile aggiungere la libreria Tkinter nel mio spazio di lavoro e farne riferimento da lì?


la soluzione suggerita dalla risposta ha funzionato per te? Non ha fatto per me: E: Unable to locate package python-tkqualcuno ha avuto questo problema?
Charlie Parker,

8
Per quello che vale, se si ottiene questo errore matplotlib non è sempre necessario installare Tkinter. Chiama matplotlib.use('Agg')subito dopo l'importazione matplotlib.
Daniel F,

7
Puoi usarlo import matplotlib matplotlib.use('agg') import matplotlib.pyplot as pltse non desideri installarlotkinter
markroxor il

6
Se usi python3.6dosudo apt-get install python3.6-tk

Risposte:


405

Non è molto facile installare Tkinter localmente da usare con Python fornito dal sistema. Puoi costruirlo da fonti, ma di solito questa non è la migliore idea con una distribuzione basata su pacchetti binari che apparentemente stai eseguendo.

È più sicuro apt-get install python-tksui tuoi computer. (Funziona su distribuzioni derivate da Debian come per Ubuntu; fare riferimento al gestore dei pacchetti e all'elenco dei pacchetti su altre distribuzioni.)


2
@BryanOakley: Certamente. Il poster sembrava avere un box Linux basato su apt, quindi la risposta. Sembrava un problema stretto. Non mi aspettavo che questa risposta ricevesse così tanti voti.
9000

62
E per python3 apt-get install python3-tkal momento di questo commento per Ubuntu 15.04
jmunsch,

1
L'ho fatto anche per python3.4 e Ubuntu 15.04:apt-get install python3-tk
hassan ketabi

4
Ho appena fatto questo esercizio su Mint18 (derivato da Ubuntu 16.04) ed è stato doubleplusgood. sudo apt install -y python3-tk
reverendo il

Come si installa tkinter dai sorgenti? Ho tcl / tk, verificato utilizzando wish. Non riesco a trovare il tarball sorgente per tkinter.
lapin

83

In realtà, devi solo usare quanto segue per installare il tkinter per python3:

sudo apt-get install python3-tk

Inoltre, per gli utenti Fedora, utilizzare il seguente comando:

sudo dnf install python3-tkinter

2
Grazie! In realtà richiede python3-tk, non python-tk.
zkan,

Se sei un principiante di Linux come me, nota che se apt-get ha problemi a trovare / installare python3-tk, prova a eseguirlo per sudo apt-get updateprimo. Nel mio sistema Linux Mint 18.3 a 32 bit, Synaptic e apt-get sembrano richiederlo più spesso di quanto avrei immaginato ...
RBV

Ottengo python3-tk è già la versione più recente (3.5.1-1) e quando importa tkinter ottengo ancora: ModuleNotFoundError: nessun modulo chiamato 'tkinter' I Use (Python 3.7.5)
sqp_125

Soluzione: sudo apt-get install python3.7-tk
sqp_125

66

Se, come me, non disponi dei privilegi di root sulla tua rete a causa dei tuoi meravigliosi amici in IS, e stai lavorando in un'installazione locale, potresti avere alcuni problemi con gli approcci sopra.

Ho passato anni su Google, ma alla fine è facile.

Scarica tcl e tk da http://www.tcl.tk/software/tcltk/download.html e installali anche localmente.

Per installare localmente su Linux (l'ho fatto nella mia directory home), estrarre i file .tar.gz per tcl e tk. Quindi apri i file Leggimi nella directory ./unix. Ho corso

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

Può sembrare una seccatura, ma i file sono piccoli e l'installazione è molto veloce.

Quindi riesegui python setup.py builde python setup.py installnella directory di installazione di Python - e dovrebbe funzionare. Ha funzionato per me - e ora posso importare Tkinter ecc. Al contenuto del mio cuore - yipidy-yay. Un intero pomeriggio trascorso su questo - spero che questa nota salvi gli altri dal dolore.


2
Ciao simon Ho appena lasciato il segno di Linux. Devo installare localmente tcl / tk e python. Voglio installarli su "/ home / cnel711 / install /". Dopo aver installato tcl / tk. dovrei impostare il percorso per Python? e come. Uso anche ./configure per installare Python. grazie
Samuel

Ciao ho già tcl / tk installato localmente e ho ricostruito Python. Ma, durante la creazione di Python (localmente), visualizzo un errore: libtk8.6.so: impossibile aprire il file oggetto condiviso: nessun file o directory di questo tipo e che il modulo _tkinter non è stato creato. Ho anche provato a impostare il percorso delle mie librerie tcl / tk con --with_tcltk_libsma questo non ha aiutato.
rivendell

7
A quale file setup.py ti riferisci? Dove posso trovarlo? Mi sono perso lì.
David Merinos,

1
@DavidMerinos, suppongo che il setup.pyfile si trovi nella directory di origine in cui è stato originariamente installato Python - è dove l'ho trovato. Se non l'hai cancellato ma hai dimenticato dove si trova questa directory, puoi eseguire un find ~ -type f -name setup.pycomando da qualsiasi punto della shell.
Acsor,

4
Ho oltre 100 file nominati setup.pysulla mia macchina. Di quale stai parlando?
jodag,

40

Se si sta utilizzando Python 3 potrebbe essere perché si sta digitando Tkinternontkinter


Sono su Windows e questo ha risolto facilmente il mio problema. :)
Yan Zhao,

22

Per gli utenti di Arch Linux, va un po 'come

sudo pacman -S tk

22

avrai bisogno del pacchetto e delle sue dipendenze.

da quando hai menzionato synaptic, devi usare un sistema basato su Debian. un modo per ottenere ciò di cui hai bisogno:

sudo apt-get install python-tk

E: Unable to locate package python-tkqualcuno ha avuto questo problema?
Charlie Parker,

@CharlieParker è nei principali repository di Ubuntu: pacchetti.ubuntu.com/python-tk
Corey Goldberg

@CharlieParker sì - l'ho fatto e non l'ho ancora risolto
ashley,

16

Come dice qui , per Python 2.7:

Non è necessario scaricare Tkinter: è parte integrante di tutte le distribuzioni Python (tranne le distribuzioni binarie per piattaforme che non supportano Tcl / Tk).

Nel mio caso, su Windows, ciò che ha aiutato era reinstallare la distribuzione di Python. Probabilmente molto tempo fa avevo deselezionato la funzione di installazione "Tcl / Tk". Dopo aver reinstallato tutto funziona bene e posso import _tkintere import Tkinter.


10

Se stai usando RHEL, CentOS, Oracle Linux, ecc. Puoi usare yum per installare il modulo tkinter

yum install tkinter

3
Ricorda che questo viene installato tkinterperpython2
confused00

1
Fedora con Python 3.5:sudo dnf install python3-tkinter
Jordan Stewart

Su CentOS 7, ho installato tkinter ma il mio python (2.7) predefinito si lamenta "Nessun modulo chiamato tkinter"!
Nimar,

5

Anche tk-devel deve essere installato nel mio caso

yum installa -y tkinter tk-devel

installa questi e ricostruisci Python


4

per l'utente python3, installare il pacchetto python3-tk seguendo il comando sudo apt-get install python3-tk


3

Se stai usando Python 3, devi installare come segue:

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

Tkinter per Python 2( python-tk) è diverso da Python 3's ( python3-tk).


Perché eseguire l'aggiornamento prima dell'aggiornamento? E questo influenzerà molto più software di un semplice python / tk.
Matteo Leggi il

1
@MatthewRead L'ho cambiato. L'ho lasciato lì per caso e hai ragione. Non ho nulla a che fare con il processo di installazione di Tk.
gon1332,

E: Unable to locate package python3-tkhai avuto questo?
Charlie Parker,

@CharlieParker python3-tkesiste su XUbuntu 16.04 gestore pacchetti.
gon1332,

3

Rilascio di Fedora 25 (venticinque)

dnf install python3-tkinter

Questo ha funzionato per me.


Questo persiste anche su f26.
mikeymop,

3

Per Python 3.7 su Ubuntu ho dovuto usare sudo apt-get install python3.7-tkper farlo funzionare


3

Se vuoi installarlo devi andare sul tuo terminale e digitare: -

sudo apt-get python-tk

E se vuoi aggiornare un pacchetto o python esistente in questo caso, digita: -

sudo apt-get update 

Quindi tutti i tuoi pacchetti saranno aggiornati. E se vuoi rimuovere un pacchetto devi solo digitare: -

sudo apt-get remove [package name]#in this case python-tk

1
informazioni errate in questa risposta. sudo apt-get python-tknon è un comando valido. probabilmente intendevi sudo apt-get install python-tk. Inoltre, sudo apt-get updatenon aggiorna nulla, aggiorna solo l'elenco dei pacchetti locali. è necessario eseguire upgradeo dist-upgradeaggiornare effettivamente i pacchetti.
Corey Goldberg,

2

Ci sono _tkinter e Tkinter - entrambi funzionano su Py 3.x Ma per sicurezza - Scarica Loopy e cambia la tua directory root di Python (se stai usando un IDE come PyCharms) nella directory di installazione di Loopy. Otterrai questa libreria e molte altre.


Loopy? il PO non lo ha mai menzionato
Corey Goldberg il

2

La situazione su macOS è ancora un po 'complicata , ma fattibile:

Python.org suggerisce vivamente di scaricare tkinter da ActiveState , ma prima dovresti leggere la loro licenza (suggerimento: non ridistribuire o richiedere supporto).

Quando il download viene aperto, OS X 10.11 lo ha rifiutato perché non è stato possibile trovare la mia ricevuta: "Impossibile aprire ActiveTcl-8.6.pkg perché proviene da uno sviluppatore non identificato".

Ho seguito una correzione OSXDaily del 2012 che mi ha suggerito di autorizzarla da qualsiasi luogo. Ma OS X ha ora aggiunto un'opzione "Apri comunque" per consentire (ad es.) Active-Tcl come una volta fuori, e l'opzione "Ovunque" ha guadagnato un timeout.

Nuovo avviso per "Ovunque"


2

Tkinter è un modulo GUI per Python. puoi usarlo per creare applicazioni basate su GUI in Python. Tkinter offre diversi widget GUI come pulsanti, menu, tela, testo, cornice, etichetta ecc. Per sviluppare applicazioni desktop. Sebbene Tkinter sia molto popolare ed è incluso in Windows, nell'installazione macosx di Python, ci sono anche opzioni alternative come PyQt, WxPython. ..

In questo tutorial vedremo come installarlo su Linux e usarlo con un esempio.

Innanzitutto, controlla se hai installato Python e controlla anche la sua versione

Apri il tuo terminale e digita python. se è installato, mostrerà informazioni come la versione, guida ... controlla la tua versione (la mia è Python 2.7.9)

aman @ vostro: ~ $ python Python 2.7.9 (impostazione predefinita, 2 aprile 2015, 15:33:21) [GCC 4.9.2] su linux2 Digitare "help", "copyright", "credits" o "licence" per ulteriori informazioni informazione.

Se non hai Python, installalo sudo apt-get install Python

Se si desidera installare python 3, immettere quanto segue. Se sei un principiante, consiglierei Python 2 invece di Python 3. Python 2 è ancora molto popolare e molte app sono fatte su di esso. Su Ubuntu python2 è ancora il predefinito sudo apt-get install python3

Infine, installa Tkinter

sudo apt-get install python-tk

per Python 3

sudo apt-get install python3-tk

Come usarlo

Ora, controlliamo se Tkinter funziona bene con questo piccolo esempio

apri il tuo terminale ed entra nella tua shell python. pitone

per python3 python3

se python è stato installato correttamente otterrai un prompt >>>. 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.
>>>

Ora importa il modulo Tkinter. non mostrerà alcun errore se è stato importato correttamente. NOTA: Assicurati di digitare Tkinter (non tkinter) in python2 e tkinter (non Tkinter) in python3.

>>>import Tkinter

Ora, solo per verificare puoi creare una finestra vuota usando Tkinter.

>>>Tkinter.Tk()

1

Per Fedora> = 25 e python> = 3, potrebbe essere necessario includere le dipendenze per Tkinter

sudo dnf install python3-tkinter



-3

Se hai Python 3.7.2 non devi installare nulla, digita esattamente:

from tkinter import *

Questo è ciò che il poster della domanda diceva che non funzionava.
PythonLuaMaster
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.