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:
- Vaya al menú de inicio, escriba Programas y características ,
- Seleccione la versión de Python (para mí es Python 3.6.5 (64 bits) ),
- Haga clic derecho, presione Cambiar ,
- Haz clic en Modificar ,
- 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.
-
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
- 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.