Getting Started¶
To get things started we will try to run a very simple GTK based GUI application using the PyGObject provided
Python bindings. First create a small Python script called hello.py
with
the following content and save it somewhere:
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
window = Gtk.Window(title="Hello World")
window.show()
window.connect("destroy", Gtk.main_quit)
Gtk.main()
Before we can run the example application we need to install PyGObject, GTK and their dependencies. Follow the instructions for your platform below.
Ubuntu | Fedora | Arch Linux |
Windows | macOS | openSUSE |
After running the example application have a look at the “Python GTK 3 Tutorial” for more examples on how to create GTK apps and the “PyGObject API Reference” for API documentation for all supported libraries.
Windows¶
- Go to http://www.msys2.org/ and download the x86_64 installer
- Follow the instructions on the page for setting up the basic environment
- Run
C:\msys64\mingw64.exe
- a terminal window should pop up - Execute
pacman -Suy
- Execute
pacman -S mingw-w64-x86_64-gtk3 mingw-w64-x86_64-python3 mingw-w64-x86_64-python3-gobject
- To test that GTK 3 is working you can run
gtk3-demo
- Copy the
hello.py
script you created toC:\msys64\home\<username>
- In the mingw32 terminal execute
python3 hello.py
- a window should appear.
Ubuntu / Debian¶
- Installing the system provided PyGObject:
- Open a terminal
- Execute
sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0
- Change the directory to where your
hello.py
script can be found (e.g.cd Desktop
) - Run
python3 hello.py
- Installing from PyPI with pip:
- Open a terminal and enter your virtual environment
- Execute
sudo apt install libgirepository1.0-dev gcc libcairo2-dev pkg-config python3-dev gir1.2-gtk-3.0
to install the build dependencies and GTK - Execute
pip3 install pycairo
to build and install Pycairo - Execute
pip3 install PyGObject
to build and install PyGObject - Change the working directory to where your
hello.py
script can be found - Run
python3 hello.py
Fedora¶
- Installing the system provided PyGObject:
- Open a terminal
- Execute
sudo dnf install python3-gobject gtk3
- Change the working directory to where your
hello.py
script can be found - Run
python3 hello.py
- Installing from PyPI with pip:
- Open a terminal and enter your virtual environment
- Execute
sudo dnf install gcc gobject-introspection-devel cairo-devel pkg-config python3-devel gtk3
to install the build dependencies and GTK - Execute
pip3 install pycairo
to build and install Pycairo - Execute
pip3 install PyGObject
to build and install PyGObject - Change the working directory to where your
hello.py
script can be found - Run
python3 hello.py
Arch Linux¶
- Installing the system provided PyGObject:
- Open a terminal
- Execute
sudo pacman -S python-gobject gtk3
- Change the working directory to where your
hello.py
script can be found - Run
python3 hello.py
- Installing from PyPI with pip:
- Open a terminal and enter your virtual environment
- Execute
sudo pacman -S python cairo pkgconf gobject-introspection gtk3
to install the build dependencies and GTK - Execute
pip3 install pycairo
to build and install Pycairo - Execute
pip3 install PyGObject
to build and install PyGObject - Change the working directory to where your
hello.py
script can be found - Run
python3 hello.py
openSUSE¶
- Installing the system provided PyGObject:
- Open a terminal
- Execute
sudo zypper install python3-gobject python3-gobject-Gdk typelib-1_0-Gtk-3_0 libgtk-3-0
- Change the directory to where your
hello.py
script can be found - Run
python3 hello.py
- Installing from PyPI with pip:
- Open a terminal and enter your virtual environment
- Execute
sudo zypper install cairo-devel pkg-config python3-devel gcc gobject-introspection-devel
to install the build dependencies and GTK - Execute
pip3 install pycairo
to build and install Pycairo - Execute
pip3 install PyGObject
to build and install PyGObject - Change the working directory to where your
hello.py
script can be found - Run
python3 hello.py
macOS¶
- Go to https://brew.sh/ and install homebrew
- Open a terminal
- Execute
brew install pygobject3 gtk+3
- Change the working directory to where your
hello.py
script can be found - Run
python3 hello.py
For more details on how to use a virtualenv with PyGObject, see the “Creating a Development Environment” page.