moonl1ght01
(Daniele Colucci)
November 8, 2023, 3:28pm
1
I’m trying to create “the first hello world” app using gtk4 in python, but it doesn’t work, How can i fix? ERROR:
$ python3 main.py
Traceback (most recent call last):
File "C:/msys64/home/danyf/main.py", line 3, in <module>
import gi
ModuleNotFoundError: No module named 'gi'
I’m using MSY2 on Windows 10. ( i’ve installed the dependencies using pacman -S mingw-w64-i686-gtk4 mingw-w64-i686-python3-gobject )
main.py:
import sys
import gi
gi.require_version("Gtk", "4.0")
from gi.repository import GLib, Gtk
class MyApplication(Gtk.Application):
def __init__(self):
super().__init__(application_id="com.example.MyGtkApplication")
GLib.set_application_name('My Gtk Application')
def do_activate(self):
window = Gtk.ApplicationWindow(application=self, title="Hello World")
window.present()
app = MyApplication()
exit_status = app.run(sys.argv)
sys.exit(exit_status)```
ebassi
(Emmanuele Bassi)
November 8, 2023, 3:30pm
2
You’re asking for GTK 4, and yet you installed the GTK3 packages?
This means that the pygobject module isn’t found; you may need to change the environment, but it’s an MSYS2-specific question.
moonl1ght01
(Daniele Colucci)
November 8, 2023, 3:31pm
3
Copy-paste error, i’m using gtk4
moonl1ght01
(Daniele Colucci)
November 8, 2023, 3:34pm
4
How must i fix?
( i’m sorry for the errors but it’s my first post )
You installed the mingw-w64-i686 version, so make sure you call python3 main.py from the mingw32.exe terminal.
moonl1ght01
(Daniele Colucci)
November 8, 2023, 4:00pm
6
it doesn’t work, i’ve altredy tried
Did the install of mingw-w64-i686-python3-gobject worked?
The correct package name seems to be mingw-w64-i686-python-gobject
(without “3”)
moonl1ght01
(Daniele Colucci)
November 8, 2023, 4:16pm
9
doesn’t work,
i’m actualy chanching techcnology ( msy2 → GitHub - wingtk/gvsbuild: GTK stack for Windows )
looks like python itself is not automatically installed as dependency…
Maybe try to install it too:
pacman -S mingw-w64-i686-python
I suspect it hasn’t found the python from msys2 and used another one that was in the PATH but doesn’t have the gi module.
moonl1ght01
(Daniele Colucci)
November 8, 2023, 4:43pm
11
doesn’t work, he give me this error:
$ py main.py
Traceback (most recent call last):
File "C:\msys64\home\danyf\main.py", line 3, in <module>
import gi
ModuleNotFoundError: No module named 'gi'
What’s the result of the commands where python and which python ?
moonl1ght01
(Daniele Colucci)
November 8, 2023, 4:46pm
13
i’m actually using the last version on python ( 3.12 )
OK, so that’s not the Python from msys2, so it can’t find gi for sure.
/mingw32/bin/python main.py should work now I think
moonl1ght01
(Daniele Colucci)
November 8, 2023, 4:51pm
15
Thank you, it work, how can i add the short cut:
python = /mingw32/bin/python??
Should be automatic if you (re)start the mingw32.exe console.
Just don’t call py, it’s not recognized and will point to some random windows install that isn’t compatible with msys2.
moonl1ght01
(Daniele Colucci)
November 8, 2023, 4:58pm
17
doesn’t work, is a good choice uninstall and reinstalling ONLY python?
error;
danyf@LAPTOP-0TRV5DSN MINGW64 /c/Users/danyf/Documents/Progetti/GTK GUI
$ python main.py
Traceback (most recent call last):
File "C:/Users/danyf/Documents/Progetti/GTK GUI/main.py", line 3, in <module>
import gi
ModuleNotFoundError: No module named 'gi'
From what I can see in your last message, you started mingw64.exe instead of mingw32.exe