Instalar tkinter para Python

278

Estoy tratando import Tkinter. Sin embargo, recibo un error que indica que Tkinterno se ha instalado:

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

Probablemente podría instalarlo usando Synaptic Manager (¿puedo?), Sin embargo, tendría que instalarlo en cada máquina en la que programo. ¿Sería posible agregar la biblioteca Tkinter a mi espacio de trabajo y hacer referencia desde allí?

Karan
fuente
¿La solución que sugirió la respuesta funcionó para usted? No fue para mí: E: Unable to locate package python-tk¿alguien tenía este problema?
Charlie Parker
8
Por lo que vale, si obtiene este error matplotlib , no siempre es necesario instalar Tkinter. Llame matplotlib.use('Agg')justo después de importar matplotlib.
Daniel F
77
Puede usarlo import matplotlib matplotlib.use('agg') import matplotlib.pyplot as pltsi no desea instalarlotkinter
markroxor
66
Si usa python3.6dosudo apt-get install python3.6-tk

Respuestas:

405

No es muy fácil instalar Tkinter localmente para usar con Python proporcionado por el sistema. Puede compilarlo desde fuentes, pero esta no suele ser la mejor idea con una distribución basada en paquetes binarios que aparentemente está ejecutando.

Es más seguro apt-get install python-tken su (s) máquina (s). (Funciona en distribuciones derivadas de Debian como Ubuntu; consulte su administrador de paquetes y la lista de paquetes en otras distribuciones).

9000
fuente
2
@BryanOakley: Ciertamente. El póster parecía tener un cuadro de Linux basado en apt, de ahí la respuesta. Esto parecía un problema estrecho. No esperaba que esta respuesta obtuviera tantos votos positivos.
9000
62
Y para python3 apt-get install python3-tken el momento de este comentario para ubuntu 15.04
jmunsch
1
También lo hice para python3.4 y ubuntu 15.04:apt-get install python3-tk
hassan ketabi el
44
Acabo de hacer este ejercicio en Mint18 (derivado de Ubuntu 16.04) y fue doubleplusgood. sudo apt install -y python3-tk
Reverendo
¿Cómo se instala tkinter desde las fuentes? Tengo tcl / tk, verificado usando wish. No puedo encontrar la fuente tarball para tkinter.
lapin
83

En realidad, solo necesita usar lo siguiente para instalar el tkinter para python3:

sudo apt-get install python3-tk

Además, para los usuarios de Fedora, use el siguiente comando:

sudo dnf install python3-tkinter
Neil
fuente
2
¡Gracias! En realidad, requiere python3-tk, no python-tk.
zkan
Si es un novato en Linux como yo, tenga en cuenta que si apt-get tiene problemas para encontrar / instalar python3-tk, intente ejecutar sudo apt-get updateprimero. En mi sistema Linux Mint 18.3 de 32 bits, Synaptic y apt-get parecen requerir eso con más frecuencia de lo que hubiera supuesto ...
RBV
Obtuve python3-tk ya es la versión más nueva (3.5.1-1) y cuando importo tkinter todavía obtengo: ModuleNotFoundError: ningún módulo llamado 'tkinter' que uso (Python 3.7.5)
sqp_125
Solución: sudo apt-get install python3.7-tk
sqp_125
66

Si, como yo, no tiene privilegios de root en su red debido a sus maravillosos amigos en IS, y está trabajando en una instalación local, puede tener algunos problemas con los enfoques anteriores.

Pasé años en Google, pero al final, es fácil.

Descargue el tcl y el tk de http://www.tcl.tk/software/tcltk/download.html e instálelos localmente también.

Para instalar localmente en Linux (lo hice en mi directorio de inicio), extraiga los archivos .tar.gz para tcl y tk. Luego abra los archivos readme dentro del directorio ./unix. Yo corri

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

Puede parecer un dolor, pero los archivos son pequeños y la instalación es muy rápida.

Luego vuelva a ejecutar python setup.py buildy python setup.py installen su directorio de instalación de Python, y debería funcionar. Funcionó para mí, y ahora puedo importar Tkinter, etc. al contenido de mi corazón, yipidy-yay. Pasé toda una tarde en esto: espero que esta nota salve a otros del dolor.

Simón
fuente
2
Hola simon Acabo de salir del montón de Linux. Necesito instalar tcl / tk y python localmente. Quiero instalarlos en "/ home / cnel711 / install /". Después de instalar el tcl / tk. ¿Debo establecer el camino para Python? y cómo. También uso ./configure para instalar Python. gracias
Samuel
Hola, ya tengo tcl / tk instalado localmente y reconstruí Python. Pero, mientras construyo python (localmente), recibo un error: libtk8.6.so: no se puede abrir el archivo de objeto compartido: No existe tal archivo o directorio, y el módulo _tkinter no se pudo construir. Incluso intenté configurar la ruta a mis bibliotecas tcl / tk con, --with_tcltk_libspero esto no ayudó.
rivendell
77
¿A qué archivo setup.py te refieres? ¿Dónde puedo encontrar ese? Estoy perdido allí
David Merinos
1
@DavidMerinos, supongo que el setup.pyarchivo se encuentra en el directorio de origen donde instaló originalmente Python, es donde lo encontré. Si no lo eliminó pero olvidó dónde está este directorio, puede ejecutar un find ~ -type f -name setup.pycomando desde cualquier lugar de su shell.
Acsor
44
Tengo más de 100 archivos nombrados setup.pyen mi máquina. De cual estas hablando?
jodag
40

Si está utilizando Python 3 que podría ser debido a que está escribiendo Tkinternotkinter

usuario1497423
fuente
Estoy en Windows y esto solucionó mi problema fácilmente. :)
Yan Zhao
22

Para los usuarios de Arch Linux, va un poco como

sudo pacman -S tk
yermama
fuente
22

Necesitará el paquete y sus dependencias.

Como mencionó Synaptic, debe estar utilizando un sistema basado en Debian. Una forma de obtener lo que necesita:

sudo apt-get install python-tk
Corey Goldberg
fuente
E: Unable to locate package python-tk¿Alguien tiene este problema?
Charlie Parker
@CharlieParker está en los repositorios principales de Ubuntu: packages.ubuntu.com/python-tk
Corey Goldberg
@CharlieParker sí, lo he resuelto y no lo he resuelto todavía
Ashley
16

Como dice aquí , para Python 2.7:

No necesita descargar Tkinter: es una parte integral de todas las distribuciones de Python (excepto las distribuciones binarias para plataformas que no admiten Tcl / Tk).

En mi caso, en Windows, lo que ayudó fue reinstalar la distribución de Python. Probablemente hace mucho tiempo había desmarcado la función de instalación "Tcl / Tk". Después de reinstalar todo funciona bien y puedo import _tkintery import Tkinter.

BartoszKP
fuente
10

Si usa RHEL, CentOS, Oracle Linux, etc. Puede usar yum para instalar el módulo tkinter

yum install tkinter
Jonathan L
fuente
3
Tenga en cuenta que esto se instala tkinterparapython2
confused00
1
Fedora con python 3.5:sudo dnf install python3-tkinter
Jordan Stewart
En CentOS 7, instalé tkinter pero mi python (2.7) predeterminado se queja "¡Ningún módulo llamado tkinter"!
Nimar
5

tk-devel también necesita ser instalado en mi caso

yum install -y tkinter tk-devel

instalarlos y reconstruir Python

JasonWayne
fuente
4

para el usuario de python3, instale el paquete python3-tk siguiendo el comando sudo apt-get install python3-tk

M. Balcilar
fuente
3

Si está utilizando Python 3, debe instalar de la siguiente manera:

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

Tkinter for Python 2( python-tk) es diferente de Python 3's ( python3-tk).

gon1332
fuente
¿Por qué actualizar antes de actualizar? Y eso afectará mucho más software que solo python / tk.
Matthew leyó el
1
@MatthewRead Lo cambié. Lo dejé allí por accidente y tienes razón. No tengo nada que ver con el proceso de instalación de Tk.
gon1332
E: Unable to locate package python3-tktuviste esto?
Charlie Parker
@CharlieParker python3-tkexiste en el administrador de paquetes XUbuntu 16.04.
gon1332
3

Fedora versión 25 (veinticinco)

dnf install python3-tkinter

Esto funcionó para mí.

NIK
fuente
Esto persiste en f26 también.
mikeymop
3

Para python 3.7 en ubuntu tuve que usar sudo apt-get install python3.7-tkpara que funcione

ilias
fuente
3

Si desea instalarlo, debe ir a su terminal y escribir: -

sudo apt-get python-tk

Y si desea actualizar un paquete existente o python en este caso, escriba: -

sudo apt-get update 

Entonces todos sus paquetes serán actualizados. Y si desea eliminar un paquete, simplemente escriba: -

sudo apt-get remove [package name]#in this case python-tk
Mikiyas Ayele
fuente
1
información incorrecta en esta respuesta. sudo apt-get python-tkNo es un comando válido. Probablemente quisiste decir sudo apt-get install python-tk. Además, sudo apt-get updateno actualiza nada, solo actualiza su lista de paquetes local. necesita ejecutar upgradeo dist-upgradeactualizar paquetes realmente.
Corey Goldberg el
2

Hay _tkinter y Tkinter, ambos funcionan en Py 3.x Pero para estar seguro, descargue Loopy y cambie su directorio raíz de Python (si está utilizando un IDE como PyCharms) al directorio de instalación de Loopy. Obtendrá esta biblioteca y muchas más.

Arthur Kennedy Otieno Jonyo
fuente
¿chiflado? el OP nunca mencionó eso
Corey Goldberg
2

La situación en macOS sigue siendo un poco complicada , pero factible:

Python.org sugiere encarecidamente descargar tkinter desde ActiveState , pero primero debe leer su licencia (sugerencia: no redistribuir o no desea Soporte).

Cuando se abre la descarga, OS X 10.11 la rechazó porque no pudo encontrar mi recibo: "ActiveTcl-8.6.pkg no se puede abrir porque es de un desarrollador no identificado".

Seguí una solución OSXDaily de 2012 que sugería permitir desde cualquier lugar. Pero OS X ahora ha agregado una opción "Abrir de todos modos" para permitir (por ejemplo) Active-Tcl como una vez, y la opción "En cualquier lugar" ha agotado el tiempo de espera.

Nueva advertencia para "Anywhere"

jalanb
fuente
2

Tkinter es un módulo GUI para python. puedes usarlo para hacer aplicaciones basadas en GUI en python. Tkinter proporciona varios widgets GUI como botones, menú, lienzo, texto, marco, etiqueta, etc. para desarrollar aplicaciones de escritorio. Aunque Tkinter es muy popular y se incluye con Windows, la instalación de Python de macosx, también hay opciones alternativas como pyQt, wxPython. ..

En este tutorial veremos cómo instalarlo en Linux y usarlo con un ejemplo.

Primero, verifique si tiene Python instalado y también verifique su versión

Abre tu terminal y escribe python. si está instalado, mostrará información como la versión, ayuda ... verifique su versión (la mía es Python 2.7.9)

aman @ vostro: ~ $ python Python 2.7.9 (predeterminado, 2 de abril de 2015, 15:33:21) [GCC 4.9.2] en linux2 Escriba "ayuda", "copyright", "créditos" o "licencia" para más información.

Si no tiene Python, instálelo sudo apt-get install python

Si desea instalar Python 3, ingrese lo siguiente. Si eres un novato, recomendaría Python 2 en lugar de Python 3. Python 2 sigue siendo muy popular y muchas aplicaciones están hechas en él. En ubuntu, python2 sigue siendo el sudo predeterminado apt-get install python3

Finalmente, instale Tkinter

sudo apt-get install python-tk

para python 3

sudo apt-get install python3-tk

Cómo usarlo

Ahora, verifiquemos si Tkinter funciona bien con este pequeño ejemplo

abre tu terminal e ingresa en tu shell de Python. pitón

para python3 python3

Si Python se instaló correctamente, recibirá un mensaje >>>. 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.
>>>

Ahora importe el módulo Tkinter. no mostrará ningún error si se importó correctamente. NOTA: Asegúrese de escribir Tkinter (no tkinter) en python2 y tkinter (no Tkinter) en python3.

>>>import Tkinter

Ahora, solo para verificar, puede crear una ventana vacía usando Tkinter.

>>>Tkinter.Tk()
Sonia Rani
fuente
1

Para Fedora> = 25 y python> = 3, es posible que debamos incluir las dependencias para Tkinter

sudo dnf install python3-tkinter

AB Abhi
fuente
0

escribe tkinter no Tkinter (Tkinter es para python 2, tkinter para python 3)

Giovanni G. PY
fuente
-3

Si tiene Python 3.7.2 no necesita instalar nada, simplemente escriba exactamente:

from tkinter import *
SER oficial
fuente
Esto es lo que el cartel de la pregunta decía que no funcionaba.
PythonLuaMaster