Install tkinter for Python [duplicate]
Asked Answered
P

24

347

I am trying to import Tkinter. However, I get an error stating that Tkinter has not been installed:

ImportError: No module named _tkinter, please install the python-tk package

I could probably install it using synaptic manager (can I?), however, I would have to install it on every machine I program on. Would it be possible to add the Tkinter library into my workspace and reference it from there?

Pedrick answered 24/1, 2011 at 15:36 Comment(5)
did the solution the answer suggested work for u? It did not for me: E: Unable to locate package python-tk did anyomne have this issue?Olympium
For what it's worth, if you get this error with matplotlib it is not always necessary to install Tkinter. Call matplotlib.use('Agg') right after importing matplotlib.Albeit
You can use import matplotlib matplotlib.use('agg') import matplotlib.pyplot as plt if you dont wish to install tkinterWhiggism
If you use python3.6 do sudo apt-get install python3.6-tkSilk
I am using python 3.8 and I still cannot import Tkinter: Tried sudo apt-get install python-tk and sudo apt-get install python3.8-tk but not able to see it in pycharm (using a virtual environment) Reading package lists... Done Building dependency tree Reading state information... Done Note, selecting 'python3-tk' instead of 'python3.8-tk' python3-tk is already the newest version (3.6.9-1~18.04). 0 upgraded, 0 newly installed, 0 to remove and 19 not upgraded.Berne
D
470

It is not very easy to install Tkinter locally to use with system-provided Python. You may build it from sources, but this is usually not the best idea with a binary package-based distro you're apparently running.

It's safer to apt-get install python3-tk on your machine(s). (Works on Debian-derived distributions like for Ubuntu; refer to your package manager and package list on other distributions.)

Dasteel answered 24/1, 2011 at 16:4 Comment(13)
@BryanOakley: Certainly. The poster seemed to have an apt-based Linux box, thus the answer. This looked like a narrow problem. I didn't expect this answer to get so many upvotes.Dasteel
And for python3 apt-get install python3-tk at the time of this comment for ubuntu 15.04Clapp
I also did it for python3.4 and ubuntu 15.04 : apt-get install python3-tkHibiscus
Just did this exercise on Mint18 (derived from 16.04 Ubuntu) and it was doubleplusgood. sudo apt install -y python3-tkGrilled
How does one install tkinter from sources? I have tcl/tk, verified using wish. I can't find the source tarball for tkinter.Malchus
@lapin: I'm afraid you need to build from the whole CPython source tree, since tkinter seems to depend on a module from that tree.Dasteel
apt-get install python3-tk confirmed to work for Python 3.5 with Ubuntu 16.04.Almeta
I would like to add that on Fedora the package is python3-tkinter, there is also a python2 version available.High
E: Unable to locate package python-tk did anyomne have this issue?Olympium
This doesn't work on Debian Jessie 8. there is no code in that package. Just checked using "dpkg -L python-tk"Uneducated
All you had to do was come in as an Administrator using sudo suPuppy
For python 3.7 I had to use sudo apt-get install python3.7-tk to make it workGraphophone
Indeed there must be a way to side-load the Tcl/Tk DLL's and use tkinter as an alias. I face a similar problem and have managed to use anything but Tk with python as reported here.Gonta
A
127

Actually, you just need to use the following to install the tkinter for python3:

sudo apt-get install python3-tk

In addition, for Fedora users, use the following command:

sudo dnf install python3-tkinter
Areaway answered 27/7, 2012 at 14:50 Comment(4)
Thanks! It actually requires python3-tk, not python-tk.Kinaesthesia
If you're a Linux newbie like me, note that if apt-get has problems finding / installing python3-tk, try running sudo apt-get update first. In my 32-bit Linux Mint 18.3 system, Synaptic and apt-get seem to require that more often than I would have supposed...Arbela
I get python3-tk is already the newest version (3.5.1-1) and when i import tkinter I still get: ModuleNotFoundError: No module named 'tkinter' I Use(Python 3.7.5)Irisirisa
Solution: sudo apt-get install python3.7-tkIrisirisa
R
75

If, like me, you don't have root privileges on your network because of your wonderful friends in I.S., and you are working in a local install you may have some problems with the above approaches.

I spent ages on Google - but in the end, it's easy.

Download the tcl and tk from http://www.tcl.tk/software/tcltk/download.html and install them locally too.

To install locally on Linux (I did it to my home directory), extract the .tar.gz files for tcl and tk. Then open up the readme files inside the ./unix directory. I ran

cd ~/tcl8.5.11/unix
./configure --prefix=/home/cnel711 --exec-prefix=/home/cnel711
make
make install

cd ~/tk8.5.11/unix
./configure --prefix=/home/cnel711 --exec-prefix=/home/cnel711 --with-tcl=/home/cnel711/tcl8.5.11/unix
make
make install

It may seem a pain, but the files are tiny and installation is very fast.

Then re-run python setup.py build and python setup.py install in your python installation directory - and it should work. It worked for me - and I can now import Tkinter etc to my heart's content - yipidy-yay. An entire afternoon spent on this - hope this note saves others from the pain.

Rendon answered 4/4, 2012 at 16:37 Comment(10)
Hi Simon. I just get off the boad of linux. I need to install tcl/tk and python locally. I want to install them to "/home/cnel711/install/". After Installing the tcl/tk. should I set the path for Python? and how. I also use ./configure to install python. thanksForkey
Hi I already have tcl/tk installed locally and I rebuilt python. But, while building python(locally), I am getting an error: libtk8.6.so: cannot open shared object file: No such file or directory, and that the module _tkinter has failed to be built. I even tried setting the path to my tcl/tk libraries with --with_tcltk_libs but this didn't help.Senhorita
Thanks this helped me a lot! Very tiny addition: "If --exec-prefix is not supplied, it defaults to --prefix." from python docs: docs.python.org/2/installNabila
What setup.py file are you referring to? Where can I find that one? I'm lost there.Gladine
I can't find a setup.py and if he refers to the python's own file, since he assumes we have no privileges we can't do this for that python. A virtualenv doesn't have a setup.py fileKinross
@DavidMerinos, I suppose the setup.py file is to be found in the source directory where you originally installed Python - it is where I found it. If you didn't delete it but forgot where this directory is, you can run a find ~ -type f -name setup.py command from anywhere your shell.Pustulant
I have over 100 files named setup.py on my machine. Which one are you talking about?Telegraph
Have to install X11. sudo apt install libx11-devMultifoliate
This only installs the Tcl/Tk C libraries themselves (which might already be present). It does not install Python's C bindings to those libraries (_tkinter), as described in the OP. setup.py normally refers to a Python script provided with a third-party Python package - nothing to do with rebuilding Python itself. Aside from that, recompiling the system Python sounds... scary at best. It seems that "local install" here is meant to convey "separate Python built from source". In which case, rebuilding should instead look like another invocation of make and/or configure.Choice
When installing tk I had to use sudo ./configure --prefix=/home/mcadev --exec-prefix=/home/mcadev --with-tclConfig=/home/mcadev/tcl8.5.11/unix --with-tkConfig=/home/mcadev/tk8.6.13/unix, note the difference of --with-tclConfig and --with-tkConfigMonafo
M
50

If you are using Python 3 it might be because you are typing Tkinter not tkinter

Morganne answered 16/7, 2012 at 0:56 Comment(0)
R
36

For Arch Linux users, it goes a bit like

sudo pacman -S tk
Rashid answered 13/1, 2015 at 5:42 Comment(0)
C
27

you will need the package and its dependencies.

since you mentioned synaptic, you must be using a Debian based system. one way to get what you need:

sudo apt-get install python-tk
Clarineclarinet answered 24/1, 2011 at 15:45 Comment(3)
E: Unable to locate package python-tk did anyomne have this issue?Olympium
@CharlieParker it's in the main Ubuntu repos: packages.ubuntu.com/python-tkClarineclarinet
@CharlieParker yes - I have and haven't sorted it out yetRamonramona
P
20

For Python 2.7:

As it says here,

You don't need to download Tkinter - it's an integral part of all Python distributions (except binary distributions for platforms that don't support Tcl/Tk).

In my case, on Windows, what helped was reinstalling the Python distribution. A long time ago, I had unchecked the "Tcl/Tk" installation feature. After reinstalling, all works fine and I can import _tkinter and import Tkinter.

Practiced answered 19/11, 2013 at 15:26 Comment(0)
G
14

If you're using RHEL, CentOS, Oracle Linux, etc. You can use yum to install tkinter module

yum install tkinter
Garaway answered 1/10, 2014 at 23:51 Comment(3)
Be aware that this installs tkinter for python2Paff
Fedora with python 3.5: sudo dnf install python3-tkinterMutazilite
On CentOS 7, I have installed tkinter but still my default python (2.7) complains "No module named tkinter"!Seismography
G
9

For python 3.7 on ubuntu I had to use sudo apt-get install python3.7-tk to make it work

Graphophone answered 21/8, 2019 at 5:49 Comment(0)
A
8

for python3 user, install python3-tk package by following command sudo apt-get install python3-tk

Adenitis answered 20/11, 2018 at 14:17 Comment(0)
H
7

tk-devel also needs to be installed in my case

yum install -y tkinter tk-devel

install these and rebuild python

Hazard answered 15/4, 2016 at 6:48 Comment(0)
H
5

Fedora release 25 (Twenty Five)

dnf install python3-tkinter

This worked for me.

Houseclean answered 12/8, 2017 at 2:30 Comment(2)
This persists on f26 as well.High
@mikeymop, I didnt mean it is not working on F26. Instead wanted to be very clear and specific on the working condition.Houseclean
T
5

To install the Tkinter on popular Linux distros:

Debian/Ubuntu:

sudo apt install python3-tk -y  

Fedora:

sudo dnf install -y python3-tkinter

Arch:

sudo pacman -Syu tk --noconfirm 

REHL/CentOS6/CentOS7:

sudo yum install -y python3-tkinter

OpenSUSE:

sudo zypper in -y python-tk
Taimi answered 2/5, 2022 at 19:34 Comment(0)
W
4

If you're using Python 3 then you must install as follows:

sudo apt-get update
sudo apt-get install python3-tk

Tkinter for Python 2 (python-tk) is different from Python 3's (python3-tk).

Whetstone answered 24/7, 2014 at 18:30 Comment(4)
Why upgrade before updating? And that's going to affect a lot more software than just python/tk.Evslin
@MatthewRead I changed it. I left it there by accident and you are right. I doesn't have anything to do with the installation process of Tk.Whetstone
E: Unable to locate package python3-tk did u have this?Olympium
@CharlieParker python3-tk exists on XUbuntu 16.04 package manager.Whetstone
P
4

There is _tkinter and Tkinter - both work on Py 3.x But to be safe- Download Loopy and change your python root directory(if you're using an IDE like PyCharms) to Loopy's installation directory. You'll get this library and many more.

Powerdive answered 11/12, 2014 at 9:23 Comment(1)
loopy? the OP never mentioned thatClarineclarinet
U
4

Tkinter is a GUI module for python. you can use it to make GUI based applications in python. Tkinter provides several GUI widgets like buttons,menu, canvas,text,frame,label etc. to develop desktop applications.Though Tkinter is very popular and is included with windows, macosx install of python, There are also alternative choices like pyQt, wxPython...

In this tutorial we will see how to install it on linux and use it with an example.

First, check if you have python installed and also check its version

Open up your terminal and type python. if its installed then it will show information like version, help... check your version (mine is python 2.7.9)

aman@vostro:~$ python Python 2.7.9 (default, Apr 2 2015, 15:33:21) [GCC 4.9.2] on linux2 Type "help", "copyright", "credits" or "license" for more information.

If you don't have python then install it sudo apt-get install python

If you want to install python 3 then enter the following. If you are a newbie, I would recommend python 2 instead of python 3. Python 2 is still very popular and many apps are made on it. On ubuntu python2 is still the default sudo apt-get install python3

Finally, Install Tkinter

sudo apt-get install python-tk

for python 3

sudo apt-get install python3-tk

How to Use it

Now, lets check if Tkinter is working well with this little example

open your terminal and enter into your python shell. python

for python3 python3

if python was installed correctly you will get a >>> prompt. aman@vostro:~$ python

Python 2.7.9 (default, Apr  2 2015, 15:33:21)
[GCC 4.9.2] on linux2

Type "help", "copyright", "credits" or "license" for more information.
>>>

Now import Tkinter module. it wont show any error if it got imported correctly. NOTE: Make sure you type Tkinter (not tkinter) in python2 and tkinter (not Tkinter) in python3.

>>>import Tkinter

Now, just to check you can create an empty window using Tkinter.

>>>Tkinter.Tk()
Underclassman answered 11/8, 2018 at 11:43 Comment(0)
R
3

The situation on macOS is still a bit complicated, but do-able:

Python.org strongly suggest downloading tkinter from ActiveState, but you should read their license first (hint: don't redistribute or want Support).

When the download is opened OS X 10.11 rejected it because it couldn't find my receipt: "ActiveTcl-8.6.pkg can’t be opened because it is from an unidentified developer".

I followed an OSXDaily fix from 2012 which suggested allowing from anywhere. But OS X has now added an "Open Anyway" option to allow (e.g.) Active-Tcl as a once off, and the "Anywhere" option has gained a timeout.

New warning for "Anywhere"

Rollerskate answered 4/11, 2016 at 4:9 Comment(0)
E
3

For Fedora >= 25 and python >= 3, we might need to include the dependencies for Tkinter

sudo dnf install python3-tkinter

Electrostriction answered 9/12, 2019 at 15:10 Comment(0)
C
2

I think you have to install the tkinter onto your code repository directory.

For liunx (Ubuntu or debian), open the terminal. Install the tkinter package by running this command on the terminal.

sudo apt-get install python-tk 

After installing the python-tk package on the terminal, create a new python file. Call it filename.py.

On the first line of the filename.py, import tkinter into the python file.

import tkinter

To create a tkinter with different fields, you can use this tutorial. https://www.delftstack.com/tutorial/tkinter-tutorial/

The documentation of tkinter can be found here: https://docs.python.org/3.7/library/tkinter.html

Hope that helps. Do ask us if you are still stuck. Remember to identify what you need in the GUI on tkinter before implementing it. Drawing wireframes of how the GUI will look like will help in coding the Tkinter GUI.

Carloscarlota answered 4/8, 2020 at 6:50 Comment(0)
C
2

Use ntk for your desktop application, which work on top of tkinter to give you more functional and good looking ui in less codding.

install ntk by pip install ntk

proper Documentation in here: ntk.readthedocs.io

Happy codding.

Circumvolution answered 7/1, 2021 at 7:47 Comment(0)
B
1

Install python version 3.6+ and open you text editor or ide write sample code like this:

from tkinter import *

root = Tk()
root.title("Answer")

root.mainloop()
Brenza answered 1/1, 2021 at 5:27 Comment(0)
G
0

Even after you've successfully imported python3 and python3-tk, it still might not work. I changed the first line of my script from: #! /usr/bin/python to: #! /usr/bin/python3

It finally worked!

Gorgeous answered 26/2, 2022 at 14:43 Comment(0)
S
0

For Ubuntu users and Linux users in general, it's not a bad idea to read the tips I've found here:

0: Do NOT purge Python from your system otherwise it's very likely you go through hell to re-install the things you will miss, including the ubuntu-desktop.

1: Update your local software repository

sudo apt update

2: Install the stuff everybody needs:

sudo apt install software-properties-common

3: Add the Dead Snake to your repository list:

sudo add-apt-repository ppa:deadsnakes/ppa

4: Update the entire thing again because we installed stuff and added a new repo:

sudo apt update

5: Install the Python version you want:

sudo apt install python3.10

6: Check that the version you want was installed:

python3 --version

Finally, you might want to restart your PC.

Savage answered 5/4, 2022 at 17:14 Comment(0)
T
-1

You can simply install it by your package manager(pip). If you haven't installed pip yet you can download the latest version of it.

And to download tkinter

pip install tkinter

And if you are maybe using a few versions of python, you can install it in the specific version you are currently using. if it's 3.10, it is,

pip3.10 install tkinter

Topple answered 27/6, 2022 at 7:47 Comment(1)
No no no. TKinter is not distributed via pip.Scriptorium

© 2022 - 2024 — McMap. All rights reserved.