5 Best Ways to Install Tkinter for Python on Linux

Rate this post

πŸ’‘ Problem Formulation: As a Python developer on Linux, you may need to create graphical user interfaces (GUIs). Tkinter is the standard Python GUI library, but it isn’t always pre-installed. This article guides you through various methods to install Tkinter on Linux, enabling you from input (a Linux system without Tkinter) to output (a system ready to develop Tkinter applications).

Method 1: Using the apt Package Manager

Tkinter can be easily installed on Debian-based Linux distributions using the apt package manager. This method ensures that the library integrates well with the system package manager, reducing the risk of conflicts. It’s suitable for most users who prefer to work with system packages.

Here’s an example:

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


Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
0 upgraded, 1 newly installed, 0 to remove and 123 not upgraded.

This code updates the package lists for upgrades of packages that need upgrading as well as new package installations. Then, it installs the Tkinter package specifically for Python 3.

Method 2: Using the yum Package Manager

For Red Hat-based distributions, yum is the default package manager. Installing Tkinter via yum ensures that it is properly managed and updated by the system’s package management tools. It’s best for users who utilize Fedora, RHEL, or CentOS.

Here’s an example:

sudo yum install python3-tkinter



This command installs the Tkinter library for Python 3 on systems that use the yum package manager, making it ready for GUI development.

Method 3: Installing with dnf Package Manager

The dnf package manager is the next-generation version of yum and is used in newer Fedora releases. Installing Tkinter via dnf is a good choice for users on recent Fedora systems who prefer a more modern package management experience.

Here’s an example:

sudo dnf install python3-tkinter



By executing this command, you install the Tkinter module for Python 3 ensuring your system is equipped to build and run Tkinter-based applications.

Method 4: Using the Pacman Package Manager

Arch Linux and its derivatives use the pacman package manager, which is known for its speed and simplicity. Using pacman to install Tkinter ensures a seamless installation that aligns with the Arch philosophy.

Here’s an example:

sudo pacman -S tk


resolving dependencies...
looking for conflicting packages...

Packages (1) tk-8.6.9-1

Total Download Size:    2.03 MiB
Total Installed Size:  8.46 MiB

:: Proceed with installation? [Y/n]

This command downloads and installs the Tk package, which contains the Tk graphical user interface toolkit used by Tkinter, thus enabling GUI development with Python on Arch-based systems.

Bonus One-Liner Method 5: Pip Install

For users who prefer not to use system package managers or who need a specific version of Tkinter, Python’s own pip can be used to install the Tkinter library.

Here’s an example:

pip install tk


Collecting tk
  Downloading tk-0.1.0-py3-none-any.whl (3.9 kB)
Installing collected packages: tk
Successfully installed tk-0.1.0

This command uses pip, Python’s package installer, to download and install the Tkinter library independently of the system’s package management tools.


  • Method 1: apt Package Manager. Best for Debian-based systems. Ensures smooth integration with the OS. It might not have the latest version of the library.
  • Method 2: yum Package Manager. Suitable for older Red Hat-based systems. Trusted and reliable. However, it’s being replaced by dnf in newer distributions.
  • Method 3: dnf Package Manager. Ideal for newer Fedora systems. Offers a modern package management experience. Can be less familiar to users of older Red Hat-based systems.
  • Method 4: Pacman Package Manager. For Arch Linux users. Fast and simple to use. The rolling release model of Arch means the library will usually be up-to-date.
  • Method 5: Pip Install. Good for environments where you need a specific version or to avoid system package managers. However, it may lead to dependency conflicts with system packages.