instalar - Instale tkinter en python3.6 en Ubuntu
tkinter python 3 windows 10 (5)
Python versión 3.6.4 (Ubuntu 18.04 LTS)
Estaba teniendo el mismo error: módulo tkinter no encontrado. Incluso después de intentar instalar a través de pip $ pip install tkinter
recibí este error, a continuación
Collecting tkinter
Could not find a version that satisfies the requirement tkinter (from versions: )
No matching distribution found for tkinter
Hice esto e intenté instalar tkinter
para Python3.6 ejecutando el comando. Funciono para mi $ sudo apt-get install python3.6-tk
+--------+-----------------------------------+
| OS | Ubuntu 12.04 |
+--------+-----------------------------------+
| Python | 2.7, 3.2 and source installed 3.6 |
+--------+-----------------------------------+
Como hay 2 versiones de Python 3, nada instalado desde el repositorio no funciona para Python 3.6. La última versión de Python en los repositorios es 3.2, por lo que necesito instalaciones de origen o mediante pip3.6.
Después de iniciar python3.6
intenté import tkinter
, lo que dio el siguiente error. Aunque la help(''modules'')
devolvió una lista de módulos que incluía tkinter.
import tkinter
ModuleNotFoundError: No module named ''_tkinter''
Intenté hacer lo mismo en python3.2
y no hubo errores . tkinter._tkinter
dio la ubicación de la biblioteca tkinter para python3.2
Cdé en el directorio python3.6
que tiene todos los archivos de la biblioteca y de hecho faltaba el archivo de objeto tkinter.so
.
¿Cómo soluciono el error?
Me gustaría que tkinter / tkagg funcione ya que parece que todos los módulos / paquetes ya están instalados.
Después de buscar en Google un poco más, encontré que necesitaba compilar python3.6
nuevo, pero esta vez con las opciones Tcl / Tk mientras ejecutaba la configuración. Preferiría no. Se tarda 1 hora aproximadamente para instalar python3.6
desde cero.
¿Hay alguna otra forma en la que pueda decirle a python3.6
dónde se encuentra Tcl / Tk?
El problema no es decirle a python dónde está tcl / tk. Después de jugar con el código fuente de python3.6, y luego comparar python3.6 con python3.2, descubrí que tkinter llama a _tkinter que no es un archivo de python, es un archivo .so (objeto compartido) que Python construye durante la instalación a través de setup.py que usa gcc, que de alguna manera puede involucrar distutils.
La pregunta nueva y más apropiada es ¿cómo _tkinter.cpython-36m-i386-linux-gnu.so
, _tkinter.cpython-36m-i386-linux-gnu.so
desde tcl / tk?
Nota: Tengo instalado tcl / tk, que he confirmado usando tclsh y deseo.
Ejecutar desde la terminal:
sudo apt-get install python3.6-tk
o simplemente reinstalar completamente:
sudo apt-get install python3.6
Me enfrenté a un problema similar al tuyo, te doy los detalles y cómo lo resolví.
En Ubuntu 16.04 LTS, tengo Python 3.5.2 y Python 2.7.12 pero me gustaría experimentar Python3.6 (por varias razones como esta , por ejemplo). Así que confié en este post :
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.6
Cuando intenté ejecutar un módulo usando tkinter, recibí este mensaje de error:
Traceback (most recent call last):
File "/usr/lib/python3.6/tkinter/__init__.py", line 37, in <module>
import _tkinter
ModuleNotFoundError: No module named ''_tkinter''
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "bill.py", line 3, in <module>
from tkinter import Canvas, Label, Tk, StringVar, Button, LEFT
File "/usr/lib/python3.6/tkinter/__init__.py", line 39, in <module>
raise ImportError(str(msg) + '', please install the python3-tk package'')
ImportError: No module named ''_tkinter'', please install the python3-tk package
Intenté instalar tkinter cuando el mensaje anterior pregunta:
sudo apt-get install python3-tk
[sudo] password for begueradj:
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3-tk is already the newest version (3.5.1-1).
0 upgraded, 0 newly installed, 0 to remove and 8 not upgraded.
Obviamente, todavía no puedo usar tkinter para Python 3.6. ¿Cómo arreglar este problema?
Mi primer intento ciego no funcionó:
sudo apt-get install python36-tk
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package python36-tk
El segundo funciona:
sudo apt-get install python3.6-tk
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
tix python3.6-tk-dbg
The following NEW packages will be installed:
python3.6-tk
0 upgraded, 1 newly installed, 0 to remove and 8 not upgraded.
Need to get 74.6 kB of archives.
After this operation, 165 kB of additional disk space will be used.
Get:1 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu xenial/main amd64 python3.6-tk amd64 3.6.5-1+xenial1 [74.6 kB]
Fetched 74.6 kB in 0s (301 kB/s)
Selecting previously unselected package python3.6-tk:amd64.
(Reading database ... 324106 files and directories currently installed.)
Preparing to unpack .../python3.6-tk_3.6.5-1+xenial1_amd64.deb ...
Unpacking python3.6-tk:amd64 (3.6.5-1+xenial1) ...
Setting up python3.6-tk:amd64 (3.6.5-1+xenial1) ...
Y eso resolvió mi problema:
~/python3.6
Python 3.6.5 (default, Mar 29 2018, 03:28:50)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
>>>
Prueba estas líneas, podría ayudar
os.environ[''TCL_LIBRARY''] = r''C:/Users/asus/AppData/Local/Programs/Python/Python36-32/tcl/tcl8.6''
os.environ[''TK_LIBRARY''] = r''C:/Users/asus/AppData/Local/Programs/Python/Python36-32/tcl/tk8.6''
Vuelva a verificar la ruta antes de ejecutar.
Python versión 3.6.4 (Ubuntu 18.04 LTS)
sudo add-apt-repository main
sudo apt-get install python3-tk