Solución:
Establezca la variable de entorno TCL_LIBRARY en su activate
texto. En Windows (Python 2.7 con Tcl 8.5), simplemente agregue esta línea a Scriptsactivate.bat
:
set "TCL_LIBRARY=C:Python27tcltcl8.5"
@Jasper van den Bosch’s edit: En Ubuntu, la modificación del script activate
es el siguiente:
TK_LIBRARY=/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/site-packages/PIL:/usr/lib
TKPATH=/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/site-packages/PIL:/usr/lib
TCL_LIBRARY=/usr/lib
export TCL_LIBRARY TK_LIBRARY TKPATH
La referencia de esto se puede encontrar en esta pregunta en askubuntu
Me las arreglo para integrar tkinter
en python3 a virtualenv por symlink tkinter
carpeta a virtualenv python3
. Trabaja para mi Pero no sé si es la forma correcta.
- Instalar en pc tkinter
sudo apt-get install python3-tk
- ve a la carpeta lib de python de tu virtualenv
cd ~/.virtualenvs/cv/lib/python3.4/
- vincular el tkinter
ln -s /usr/lib/python3.4/tkinter tkinter
Espero que esto ayude.
En versiones posteriores de Python, esto puede resultar en un
ModuleNotFoundError: No module named '_tkinter'
En este caso, asegúrese de incluir también el enlace simbólico
/usr/lib/python3.x/lib-dynload/_tkinter.cpython-36m-x86_64-linux-gnu.so
como
path/to/virtualenv/lib/python3.x/lib-dynload/_tkinter.cpython-36m-x86_64-linux-gnu.so
utilizando
ln -s /usr/lib/python3.x/lib-dynload/_tkinter.cpython-36m-x86_64-linux-gnu.so _tkinter.cpython-36m-x86_64-linux-gnu.so
desde dentro de tu virtualenv lib/python3.x/lib-dynload/
directorio.
Estoy usando python2.7 con un virtualenv en una máquina que ejecuta linux mint. Recibí exactamente el mismo error mencionado por el OP al ejecutar una aplicación que requería matplotlib en mi virtualenv. “ImportError: Ningún módulo llamado _tkinter, instale el paquete python-tk”
Terminé eliminando y recreando mi entorno virtual usando las sugerencias en las publicaciones anteriores. Estos son mis pasos:
- Si su entorno virtual está activado, ejecute este comando para congelar los requisitos en un archivo al que puede acceder más tarde:
pip freeze > requirements.txt
- si su entorno virtual está activado, desactívelo usando:
deactivate
- elimine su carpeta virtualenv.
- instale python-tk usando:
sudo apt-get install python-tk
- recrea tu virtualenv usando:
virtualenv <nameofyourenv> --system-site-packages
- a continuación, active su virtualenv:
source <virtual environment folder>/bin/activate
- restaure todos los paquetes que congeló anteriormente desde el archivo requirements.txt:
pip install -r <path to requirements.txt file>
ahora, cuando ejecuto el mismo código que antes, no tiene problemas para importar _tkinter. ¡Espero que esto ayude! Gracias a las sugerencias de todos arriba. Realmente me ayudó mucho.