Trying to run python code with TKinter-based widgets from a virtualenv.
user@computer:~/myproject$ env/bin/python Python
2.7.3 (default, Sep 26 2012, 21:51:14) [GCC 4.7.2] on linux2 Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 42, in <module>
raise ImportError, str(msg) + ', please install the python-tk package' ImportError: No module named _tkinter, please install the python-tk package
What is the proper way to install TK to the virtualenv?
Set the environment variable TCL_LIBRARY in your activate
script. On Windows (Python 2.7 with Tcl 8.5), just add this line to Scripts\activate.bat
:
set "TCL_LIBRARY=C:\Python27\tcl\tcl8.5"
@Jasper van den Bosch's edit: On Ubuntu, the modification to the script activate
is the following:
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
The reference of this can be found on this question on askubuntu