No module named tkinter
If you get the Python error "No module named "tkinter", a solution is shown in this article. This usually means the module tkinter
is not installed in your virtual environment.
Environment introduction
This error can appear on any Python installation. This is the system I used:
- Ubuntu: 20.0
- Python: 3.6.9
- Switch between different Python environments based on virualenv
Related course: Python Desktop Apps with Tkinter
When it occurs
This can occur when the module is not installed. Sometimes you use another module that depends on it, like matplotlib.
import tkinter
If this fails your Python may not be configured for Tk
ImportError: No module named tkinter
Solution
To solve it you can use your Linux distributions package manager. For Debian or Ubuntu Linux:
sudo apt-get install python3-tk
If you use Fedora Linux:
sudo dnf install python3-tkinter
What is tkinter tcl ,tk?
The tkinter package (Tk interface) is the standard Python interface to the Tk GUI toolkit. Both Tk and tkinter are available on most Unix platforms, as well as on Windows systems. (Tk itself is not part of Python; it is maintained at ActiveState.)
You can check that tkinter is properly installed on your system by running python -m tkinter
from the command line; this should open a window demonstrating a simple Tk interface.
tkinter is actually the standard Python to call tcl programs. You can call tcl's program through this interface, because there are many tcl programs and commands built into most unix systems.
Tcl is the abbreviation of "Tool Command Language", and its object-oriented is otcl Language. Tk is Tcl "graphics tool"Box" extension, it provides a variety of standard GUI interface items to facilitate rapid advanced application development.
tkinter vs Tkinter
When Python 3 came out, the Tkinter module was renamed to tkinter.
try:
# for Python2
from Tkinter import * ## notice capitalized T in Tkinter
except ImportError:
# for Python3
from tkinter import * ## notice lowercase 't' in tkinter here
Related course: Python Desktop Apps with Tkinter