Importerror: No Named '_Tkinter', Please Install the Python3-Tk Package
I Am New to Ubuntu and Linux in General. I Created a Dual Boot Os on My Laptop (Windows 10 and Ubuntu). Typing: Sudo Apt-Get Install Python3-Tk (Or Even...
I am new to Ubuntu and Linux in general.
I created a dual boot OS on my laptop (Windows 10 and Ubuntu).
- Typing:
sudo apt-get install python3-tk(or evenpython-tk) didn't work. - Trying to install the
python3-devorpython-devel(no luck). - Downloading Tcl and Tk to manually install.
In Windows 10 Bash Subsystem the Tk and Tcl are already included, so I thought Ubuntu already had it. But, I want to use my Ubuntu desktop to develop Python GUI apps.
So, how can I install the Tcl/Tk to be use in Python 3.5 for GUI development?
I loaded Python 3.5.2 fine but need the GUI modules enabled.
The code to test that Tk is working is:
- Type
python3 Type:
import tkinter tkinter._test()Result: a GUI pop-up displaying
This is a Tcl/Tk version..
5 Answers
sudo apt-get install python3-tk Installs tkinter for Python3.x.x
Sources:
For a python 3.6 virtual environment with Python 3.5 as the "system" python (Ubuntu) , I had to install tk 3.6 to match;
sudo apt-get install python3.6-tk
My default python in ubuntu was 3.5, so when using a venv for 3.6, I would get an import error. Drove me crazy for a while.
[Edit: As this question ages]
In general, it seems if one is using a virtual environment with a python of a different version than that of ones base machine, one must install tk for the version of python used in the virtual environment.
sudo apt install python3.x-tk
Where 3.x would match the version of the virtual environment.
[Edit]
It may be necessary to add the repository for tk. In my experience, it was the same repository from which I pulled python3.6, but that may change with time;
sudo add-apt-repository ppa:deadsnakes/ppa
In my case, I was getting the same error as "ImportError: No module named '_tkinter'" for python3.5 in-spite of doing the following things: - Installing python3-tk and tkinter-dev - Tkinter directory being available in /usr/lib/python3.5.
The observed error was from the following file:
File "/usr/local/lib/python3.5/tkinter/init.py", line 35, in import _tkinter # If this fails your Python may not be configured for Tk
However, when I simply ran the python from /usr/bin like /usr/bin/python3.5 from terminal, it worked for me!
In short, just ensure the python version being run from terminal has the tkinter installed and configured :)
I have Ubuntu16.04 installed on my system which comes with default python2.7 and python3.5
This might be interesting when installing from source (which most python users won't):
After installing tcl and tk.
Go back to your version of Python, do make. And, if multiple version of python exist, do a make altinstall.
- Open Python3.5
type:
import tkinter tkinter._test()results OK - pop GUI opened and working as expected.
Installing just library files may not work since you want to use library itself not develop it.
This worked for me:
$ sudo apt install tk8.6-dev