navigationtoolbar2tkagg how gui figurecanvastkagg python matplotlib tkinter

python - how - seaborn plot in tkinter



Error de matplotlib: ningún módulo llamado tkinter (14)

Intenté usar el paquete matplotlib a través de Pycharm IDE en Windows 10. cuando ejecuto este código:

from matplotlib import pyplot

Obtuve el siguiente error:

ImportError: No module named ''tkinter''

Sé que en Python 2.x se llamaba Tkinter, pero ese no es el problema: acabo de instalar un nuevo Python 3.5.1.

EDITAR: además, también intenté importar ''tkinter'' y ''Tkinter'', ninguno de estos funcionó (ambos devolvieron el mensaje de error que mencioné).


A veces (por ejemplo, en la distribución osgeo4w) se elimina tkinter.

Intente cambiar el archivo matplotlib edición del archivo matplotlibrc ubicado en [python install dir]/matplotlib/mpl-data/matplotlibrc cambiando el parámetro backend: TkAgg de backend: TkAgg a algo como backend: Qt4Agg como se describe aquí: http://matplotlib.org/faq/usage_faq.html#what-is-a-backend


Casi todas las respuestas que busqué para este problema dicen que Python en Windows viene con tkinter y tcl ya instalados, y no tuve suerte tratando de descargarlos o instalarlos usando pip, o actviestate.com. Finalmente descubrí que cuando estaba instalando Python usando el instalador binario, había desmarcado el módulo relacionado con TCL y tkinter. Entonces, ejecuté el instalador binario nuevamente y elegí modificar mi versión de Python esta vez seleccionando esta opción. No hay necesidad de hacer nada manualmente entonces. Si va a su terminal de Python, los siguientes comandos deberían mostrarle la versión de tkinter instalada con su Python:

import tkinter import _tkinter tkinter._test()


Como estoy usando Python 3.7 en Ubuntu, tuve que usar:

sudo apt-get install python3.7-tk


En CentOS 6.5 con python 2.7 tenía que hacer: yum install python27-tkinter


En CentOS 7 y Python 3.4, el comando es sudo yum install python34-tkinter

En Redhat 7.4 con Python 3.6, el comando es sudo yum install rh-python36-python-tkinter


En Centos, los nombres y comandos del paquete son diferentes. Tendrás que hacer:

sudo yum install tkinter

Para solucionar el problema


En Ubuntu, a principios de 2018, no hay python3.6-tk en las distribuciones normales de ubuntu (xenial / 16.04), por lo que incluso si tiene versiones anteriores de python-tk esto no funcionará.

Mi solución fue usar configurar todo con python 3.5 :

sudo apt install python3.5-tk virtualenv --python=`which python3.5` python-env source python-env/bin/activate pip install -r requirements.txt

Y ahora matplotlib puede encontrar tkinter .

EDITAR :

Solo necesitaba 3.6 después de todo, y el truco era:

sudo apt install tk-dev

y luego reconstruir python3.6, después de tk-dev , por ejemplo:

./configure make make install


Para los usuarios de Windows , no es necesario volver a descargar el instalador. Solo haz lo siguiente:

  1. Vaya al menú de inicio, escriba Programas y características ,
  2. Seleccione la versión de Python (para mí es Python 3.6.5 (64 bits) ),
  3. Haga clic derecho, presione Cambiar ,
  4. Haz clic en Modificar ,
  5. Seleccione td / tk e IDLE (que instala tkinter) y haga clic en siguiente .

Espere la instalación y ya está.


Para usuarios de Windows, vuelva a ejecutar el instalador. Selecciona Modificar. Marque la casilla para tcl / tk e IDLE. La descripción de esto dice "Instala tkinter"


Si está usando fedora, primero instale tkinter

sudo dnf install python3-tkinter

No creo que necesite importar tkinter después, también le sugiero que use virtualenv

$ python3 -m venv myvenv $ source myvenv/bin/activate

Y agregue los paquetes necesarios usando pip


Si está utilizando Python 3.6, esto funcionó para mí:

sudo apt-get install python3.6-tk

en lugar de

sudo apt-get install python3-tk

Que funciona para otras versiones de python3


Tal vez instaló Python desde la fuente. En este caso, puede recompilar Python con tcl / tk compatible.

  1. Cumpla e instale tcl / tk desde http://www.tcl.tk/software/tcltk/download.html , supongo que instaló Python en /home/xxx/local/tcl-tk/ .

# install tcl wget -c https://prdownloads.sourceforge.net/tcl/tcl8.6.9-src.tar.gz tar -xvzf tcl8.6.9-src.tar.gz cd tcl8.6.9 ./configure --prefix=/home/xxx/local/tcl-tk/ make make install # install tk wget -c https://prdownloads.sourceforge.net/tcl/tk8.6.9.1-src.tar.gz tar -xvzf tk8.6.9.1-src.tar.gz cd tk8.6.9.1 ./configure --prefix=/home/xxx/local/tcl-tk/ make make install

  1. Vuelva a compilar Python con tcl / tk compatible, por ejemplo:

# download the source code of python and decompress it first. cd <your-python-src-dir> ./configure --prefix=/home/xxx/local/python / --with-tcltk-includes=/home/xxx/local/tcl-tk/include / --with-tcltk-libs=/home/xxx/local/tcl-tk/lib make make install


puedes usar

import matplotlib matplotlib.use(''agg'') import matplotlib.pyplot as plt

si no quieres usar tkinter en absoluto.

Además, no olvide usar %matplotlib inline en la parte superior de su computadora portátil si usa una.

EDITAR: agg es un backend diferente como tkinter para matplotlib.


sudo apt-get install python3-tk

Entonces,

>> import tkinter # all fine

Editar :

Para Windows, creo que el problema es que no instaló el paquete completo de Python. Dado que Tkinter debe enviarse con Python fuera de la caja. Ver: http://www.tkdocs.com/tutorial/install.html

Sugiero instalar ipython , que también proporciona potentes shell y paquetes necesarios.