5 votos

configurar tkinter para python3.4.2

Recientemente me he encontrado con un problema al instalar la última versión de python3.X.
Lo instalé utilizando el Python-3.4.2.tar.xz paquete de python.org Después, la intallation traté de importar el tkinter módulo pero no tuvo éxito.

La salida de import tkinter era:

\>>> import tkinter
Traceback (most recent call last):
  File "", line 1, in 
  File "/usr/local/lib/python3.4/tkinter/\_\_init\_\_.py", line 38, in 
    import \_tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named '\_tkinter'

También he probado las siguientes soluciones:

pero ninguno de ellos ayudó.
Al probar estas soluciones, si notó que el error dice:

import \_tkinter # If this fails your Python may not be configured for Tk

entonces busqué en Google y encontré este .
La lectura de la Comprobación del soporte de Tkinter sección, el Step 1 falló y se quedó atascado en esta línea

Si instala Tcl/Tk en las ubicaciones por defecto, simplemente reejecutando "make" debería construir la extensión _tkinter.

Con respecto a la línea anterior, mi pregunta es:
Dónde encontrar un archivo make para ejecutar un make comando en ?

Y, ¿cómo configuro el tkinter para que Python3.4.2 lo acepte?


EDITAR:

Me olvidé de mencionar pero import tkinter funciona para la instalación por defecto (Python-3.4.0) del Python en Ubuntu 14.04.1

10voto

FARSHAD Puntos 31

Para construir python3.4.2 desde el código fuente con el _tkinter necesita instalar la siguiente dependencia de construcción:

sudo apt-get install tk8.6-dev

Entonces todo lo que tienes que hacer es correr make de nuevo para añadir _tkinter apoyo como el setup.py detectará automáticamente las cabeceras tk/tcl y creará el módulo:

~/Downloads/Python-3.4.2$ make
running build
running build_ext
building '_tkinter' extension
gcc -pthread -fPIC -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Werror=declaration-after-statement -DWITH_APPINIT=1 -I/usr/include/tcl8.6 -I/usr/X11/include -I./Include -I. -IInclude -I/usr/include/x86_64-linux-gnu -I/usr/local/include -I/home/sylvain/Downloads/Python-3.4.2/Include -I/home/sylvain/Downloads/Python-3.4.2 -c /home/sylvain/Downloads/Python-3.4.2/Modules/_tkinter.c -o build/temp.linux-x86_64-3.4/home/sylvain/Downloads/Python-3.4.2/Modules/_tkinter.o
gcc -pthread -fPIC -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Werror=declaration-after-statement -DWITH_APPINIT=1 -I/usr/include/tcl8.6 -I/usr/X11/include -I./Include -I. -IInclude -I/usr/include/x86_64-linux-gnu -I/usr/local/include -I/home/sylvain/Downloads/Python-3.4.2/Include -I/home/sylvain/Downloads/Python-3.4.2 -c /home/sylvain/Downloads/Python-3.4.2/Modules/tkappinit.c -o build/temp.linux-x86_64-3.4/home/sylvain/Downloads/Python-3.4.2/Modules/tkappinit.o
gcc -pthread -shared build/temp.linux-x86_64-3.4/home/sylvain/Downloads/Python-3.4.2/Modules/_tkinter.o build/temp.linux-x86_64-3.4/home/sylvain/Downloads/Python-3.4.2/Modules/tkappinit.o -L/usr/X11/lib -L/usr/lib/x86_64-linux-gnu -L/usr/local/lib -ltk8.6 -ltcl8.6 -lX11 -o build/lib.linux-x86_64-3.4/_tkinter.cpython-34m.so

Python build finished successfully!
The necessary bits to build these optional modules were not found:
_bz2                  _dbm                  _gdbm              
_lzma                 _sqlite3                                 
To find the necessary bits, look in setup.py in detect_modules() for the module's name.
[...]

Ahora puedes importar tkinter en python3.4.2:

~/Downloads/Python-3.4.2$ ./python 
Python 3.4.2 (default, Oct 30 2014, 11:34:17) 
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
>>> 

Respuesta original:

A menos que realmente necesites python3.4.2, yo usaría la versión por defecto de python3 en 14.04 ( 3.4.0 )

Entonces todo lo que tienes que hacer es instalar los siguientes paquetes:

sudo apt-get install python3-tk tk

E iniciar el intérprete de Python de esta manera:

/usr/bin/python3

De lo contrario, siempre obtendrá la versión que haya instalado en /usr/local (3.4.2).

Importar tk en python3 debería funcionar ahora:

$ python3
Python 3.4.0 (default, Apr 11 2014, 13:05:11) 
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
>>>

0voto

Noam Peled Puntos 151

Si necesitas tkinter sólo para matplotlib, también puedes usar un backend diferente, como Egg: importar matplotlib como mpl mpl.use('Agg') importar matplotlib.pyplot como plt

Ver más detalles aquí

0voto

user610433 Puntos 11
sudo apt-get install python3-tk tk  

pyenv install 3.5.0  

eso es todo

0voto

Pushkaraj Joshi Puntos 101

Para que sepas, estoy usando Ubuntu 16.04. Añadiendo a la primera respuesta hacer estas cosas desde el archivo de Python(Después de la extracción):

./configure #(there will be a configure file)
make
make test
sudo make install

Había hecho estas cosas la primera vez pero aún así me mostraba estos errores:

IDLE can't import Tkinter.  Your Python may not be configured for Tk.

mientras se ejecuta python3 -m idlelib.idle de cmd.

Así que lo hice:

sudo apt-get install tk-dev

o puede hacer

sudo apt-get install tk8.6-dev

entonces, de nuevo

./configure
make
make test
sudo make install

Esto solucionó el problema ya que la siguiente vez que ejecuté python3 -m idlelib.idle , abrió el IDLE.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: