Macrofusion fails to run

Hello all,

I have installed macrofusion via yast and it appears to instal correctly, a menu entry is created and all dependencies seem to be fulfilled etc. However it fails to run from menu or from command line. The command line fails with the following message

/usr/bin/macrofusion.py:20: PyGIWarning: Gdk was imported without specifying a version first. Use gi.require_version('Gdk', '4.0') before import to ensure that the right version gets loaded.
  from gi.repository import Gdk, Gtk, GObject, GdkPixbuf, GExiv2
/usr/bin/macrofusion.py:20: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '4.0') before import to ensure that the right version gets loaded.
  from gi.repository import Gdk, Gtk, GObject, GdkPixbuf, GExiv2
An error occured. Python or one of its sub modules is absent...
It would be wise to check your python installation.

Any help in getting it to run would be appreciated.

Hi
Looks like a typelib is missing, it’s easy to work out… :wink:

Open a terminal;


cat /usr/bin/macrofusion.py |grep gi.repository

from gi.repository import Gdk, Gtk, GObject, GdkPixbuf, GExiv2

python3
Python 3.7.3 (default, Apr 09 2019, 05:18:21) [GCC] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from gi.repository import Gdk
__main__:1: PyGIWarning: Gdk was imported without specifying a version first. Use gi.require_version('Gdk', '3.0') before import to ensure that the right version gets loaded.
>>> from gi.repository import Gtk
__main__:1: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.
>>> from gi.repository import GObject
>>> from gi.repository import GdkPixbuf

>>> from gi.repository import GExiv2

(This is the missing one....)

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python3.7/site-packages/gi/importer.py", line 133, in load_module
    'introspection typelib not found' % namespace)
ImportError: cannot import name GExiv2, introspection typelib not found

>>> exit()

So now switch to root user;


su -
zypper se GExiv2
zypper in typelib-1_0-GExiv2-0_10

Hi
I’ve pushed a fix to the development project;
](https://build.opensuse.org/request/show/746114)https://build.opensuse.org/request/show/746115

Thank you Malcom, much appreciated. Have done as you say and still no luck, when I run

su -
zypper se GExiv2
zypper in typelib-1_0-GExiv2-0_10

it comes back as nothing to do.

Hi
Perhaps missing other typelibs as well, did you install the updated version from the development repository? It may take some time to filter through into the release…

https://download.opensuse.org/repositories/graphics/openSUSE_Tumbleweed/noarch/macrofusion-0.7.4-17.1.noarch.rpm

I just installed here on a fresh Tumbleweed (GNOME DE);


zypper in /data/repositories/Downloads/macrofusion-0.7.4-17.1.noarch.rpm 
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 28 NEW packages are going to be installed:
  enblend-enfuse exiftool hugin libGLEW2_1 libGLU1 libgsl25 libgslcblas0 libhdf5-103 libhdf5_hl100 libpano13-3 libvigraimpex11 libwx_baseu-suse3_0_4
  libwx_baseu_net-suse3_0_4 libwx_baseu_xml-suse3_0_4 libwx_gtk2u_adv-suse3_0_4 libwx_gtk2u_aui-suse3_0_4 libwx_gtk2u_core-suse3_0_4
  libwx_gtk2u_gl-suse3_0_4 libwx_gtk2u_html-suse3_0_4 libwx_gtk2u_qa-suse3_0_4 libwx_gtk2u_xrc-suse3_0_4 macrofusion perl-Archive-Zip
  perl-File-RandomAccess perl-Image-ExifTool python3-Pillow python3-olefile typelib-1_0-GExiv2-0_10

The following 2 recommended packages were automatically selected:
  exiftool perl-Archive-Zip

All works fine…

Hi Malcom,

Still no joy here, installed updated and get the following

/usr/bin/macrofusion.py:20: PyGIWarning: Gdk was imported without specifying a version first. Use gi.require_version('Gdk', '4.0') before import to ensure that the right version gets loaded.
  from gi.repository import Gdk, Gtk, GObject, GdkPixbuf, GExiv2
/usr/bin/macrofusion.py:20: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '4.0') before import to ensure that the right version gets loaded.
  from gi.repository import Gdk, Gtk, GObject, GdkPixbuf, GExiv2
/usr/bin/macrofusion.py:20: PyGIWarning: GExiv2 was imported without specifying a version first. Use gi.require_version('GExiv2', '0.10') before import to ensure that the right version gets loaded.
  from gi.repository import Gdk, Gtk, GObject, GdkPixbuf, GExiv2
/usr/bin/macrofusion.py:66: PyGIDeprecationWarning: Since version 3.11, calling threads_init is no longer needed. See: https://wiki.gnome.org/PyGObject/Threading
  GObject.threads_init()
Traceback (most recent call last):
  File "/usr/bin/macrofusion.py", line 893, in <module>
    Gui = Interface()                                                          #Interface
  File "/usr/bin/macrofusion.py", line 129, in __init__
    Gtk.Window.set_default_icon_from_file(IMG + 'macrofusion.png') 
AttributeError: type object 'Window' has no attribute 'set_default_icon_from_file'

Hi
In your ~/.config directory can you delete the mfusion directory and try again.