Не запускается плагин для Гимпа [не до конца Решено]

Есть такой замечательный плагин для гимпа, который позволяет быстро делать фото на любые документы (https://gimp-id-photo.ru)
Плагин давно не обновлялся, но работал до вчерашнего дня, пока я не обновил систему, а вместе с ним и гипм. Несколько лет назад при таком случае помогла установка пакета python2-gimp, но в этот раз почему-то не получилось. Насколько помню, тогда гимп перестал поддерживать второй питон.

При запуске есть такие ошибки:
Traceback (most recent call last):
  File "/usr/lib/gimp/2.0/plug-ins/spyro_plus/spyro_plus.py", line 22, in <module>
    import gimpui
  File "/usr/lib/gimp/2.0/python/gimpui.py", line 33, in <module>
    import gtk, gobject, gimp, gimpcolor
  File "/usr/lib/python2.7/site-packages/gtk-2.0/gtk/__init__.py", line 40, in <module>
    from gtk import _gtk
  File "/usr/lib/python2.7/site-packages/cairo/__init__.py", line 1, in <module>
    from ._cairo import *  # noqa: F401,F403
ImportError: /usr/lib/python2.7/site-packages/cairo/_cairo.so: undefined symbol: cairo_tee_surface_index
gimp: LibGimpBase-ПРЕДУПРЕЖДЕНИЕ: gimp: gimp_wire_read(): error
gimp: LibGimpBase-ПРЕДУПРЕЖДЕНИЕ: gimp: gimp_wire_read(): error
Traceback (most recent call last):

File "/home/user/.config/GIMP/2.10/plug-ins/id_photo.py", line 24, in <module>
    import gimpui

  File "/usr/lib/gimp/2.0/python/gimpui.py", line 33, in <module>
    import gtk, gobject, gimp, gimpcolor
  File "/usr/lib/python2.7/site-packages/gtk-2.0/gtk/__init__.py", line 40, in <module>
    from gtk import _gtk
  File "/usr/lib/python2.7/site-packages/cairo/__init__.py", line 1, in <module>
    from ._cairo import *  # noqa: F401,F403
ImportError: /usr/lib/python2.7/site-packages/cairo/_cairo.so: undefined symbol: cairo_tee_surface_index
gimp: LibGimpBase-ПРЕДУПРЕЖДЕНИЕ: gimp: gimp_wire_read(): error

Вижу, что ругается на
File "/home/user/.config/GIMP/2.10/plug-ins/id_photo.py", line 24, in <module>
    import gimpui
но что с этим делать, я не понимаю.

Учитывая последнее обновление плагина 5 лет назад, вряд ли автор будет его обновлять. Написал ему на почту, пока ответа нет.
Возможно здесь удастся решить проблему.
https://z-uo.medium.com/create-python3-plugin-for-gimp-the-basics-94ede94e9d1f

тут гляньте, если хотите самостоятельно разобраться
такие дела.
Вы предлагаете мне переписать плагин под третий питон? Нет, на такое я не способен, к сожалению
Я пока не в Linux чтобы посмотреть, но при импорте формат функций должен соответствовать вызовам в коде. Если формат импортируемой функции отличается от вызываемой это может вызвать ошибку, смотря как это проверяется, сразу или в момент вызова. Он даже показывает функцию gimp: gimp_wire_read() где gimp: это скорее всего название импортируемого модуля. Можно открыть файлы и сделать поиск функции там и там и посмотреть сходятся ли форматы, то есть параметры функции по количеству и типу. Не факт что после исправления не вылетит следующая ошибка с проблемой следующей функции. Часто на первой ошибке споткнулся и вылетел, а до остальных ошибок пока дела нет.
мои программы
abc
Вы предлагаете мне переписать плагин под третий питон? Нет, на такое я не способен, к сожалению
тогда ой.
я этим плагином когда-то пользовался, но очень давно. если вдруг потребуется, гляну, может починю, но когда это ещё будет...
такие дела.
добавил в папку ~/.gimp-2.10/plug-ins и ~/.config/GIMP/2.10/plug-ins что-то не видит GIMP 2.10.34 этот плаг, ничего в главном меню не появляется. Скачал две версии 99.8 кб и 100.1 кб соответственно от 2012г и 2021г. В коде нет функции "gimp_wire_read". Значит это уже несостыковка питона используемого гимпом и выполняемого. Как я понял если автор требует сделать его выполняемым, то гимп запускает его при старте. И вот тут возможно нестыкуемость версий питона от гимп и от скрипта.
мои программы
Я пообщался с автором плагина. В итоге решили, что:
… проблема в сломанных зависимостях. Надо переходить на что-то посвежее GTK2 …
Обещал подумать над этим.

AZJIO
ничего в главном меню не появляется
если закомментировать в плагине строки 24 и 27 (#import gimpui и #import gtk), то пункт в меню появляется, но при нажатии на любой пункт этого меню ничего не происходит.

Кстати, плагин есть в AUR-е. Устанавливается в системную папку/usr/lib/gimp/2.0/plug-ins/id_photo_BETA.py

cucullus
если вдруг потребуется, гляну, может починю
Было очень хорошо!
abc
File "/usr/lib/python2.7/site-packages/cairo/__init__.py", line 1, in <module>
from ._cairo import * # noqa: F401,F403
Пересоберите модули убедившись что ставится последняя версия с AUR а не стороннего репозитария
yay -Syu
#смотрим какая версия и откуда стоит
yay python2-cairo
yay python2-gobject2
yay python2-gimp
yay pygtk
#пересобираем с AUR а не стороннего репозитария
yay -S  --rebuild python2-cairo
yay -S  --rebuild python2-gobject2
yay -S  --rebuild pygtk
yay -S  --rebuild python2-gimp
#проверяем
gimp
С вторым питоном сейчас в ауре свалка из порой несовместимых версий
в первую очередь попробуйте python2-cairo из аур пересобрать ошибка на нем
vs220
Пересоберите модули убедившись что ставится последняя версия с AUR а не стороннего репозитария
Сделал все, как вы написали - заработало! Спасибо огромное!
Что-то пошло не так. В тот день все заработало, потом не пользовался. Сегодня опять частично перестало работать. До момента отправки на печать все работает, но на печать изображение не формируется. В гимпе при нажатии кнопки "Печать" (в меню плагина). ничего не происходит, а в логах такое:
Traceback (most recent call last):
  File "/usr/lib/gimp/2.0/python/gimpplugin.py", line 76, in _run
    return apply(getattr(self, name), params)
  File "/home/user/.config/GIMP/2.10/plug-ins/id_photo.py", line 1662, in python_print_photo
    print_photo(runmode, image, drawable)
  File "/home/user/.config/GIMP/2.10/plug-ins/id_photo.py", line 1429, in __init__
    if 'format' not in shelf:
  File "/usr/lib/gimp/2.0/python/gimpshelf.py", line 75, in __getitem__
    s = gimp.get_data(key)
TypeError: get_data() argument 1 must be string, not int
И еще очень много таких однотипных ошибок:
/home/user/.config/GIMP/2.10/plug-ins/id_photo.py:1565: Warning: Two different plugins tried to register 'GeglOpnegation_c'.
  gimp.main(self.init, self.quit, self.query, self._run)
/home/user/.config/GIMP/2.10/plug-ins/id_photo.py:1565: Warning: Two different plugins tried to register 'GeglOppath_c'.
  gimp.main(self.init, self.quit, self.query, self._run)
/home/user/.config/GIMP/2.10/plug-ins/id_photo.py:1565: Warning: Two different plugins tried to register 'GeglOplens-correct_c'.
  gimp.main(self.init, self.quit, self.query, self._run)
/home/user/.config/GIMP/2.10/plug-ins/id_photo.py:1565: Warning: Two different plugins tried to register 'GeglOpjpg-load_c'.
  gimp.main(self.init, self.quit, self.query, self._run)
/home/user/.config/GIMP/2.10/plug-ins/id_photo.py:1565: Warning: Two different plugins tried to register 'GeglOpcache_c'.
  gimp.main(self.init, self.quit, self.query, self._run)
/home/user/.config/GIMP/2.10/plug-ins/id_photo.py:1565: Warning: Two different plugins tried to register 'GeglOpcast-format_c'.
  gimp.main(self.init, self.quit, self.query, self._run)
/home/user/.config/GIMP/2.10/plug-ins/id_photo.py:1565: Warning: Two different plugins tried to register 'GeglOpcast-space_c'.
  gimp.main(self.init, self.quit, self.query, self._run)
/home/user/.config/GIMP/2.10/plug-ins/id_photo.py:1565: Warning: Two different plugins tried to register 'GeglOpclone_c'.
  gimp.main(self.init, self.quit, self.query, self._run)
/home/user/.config/GIMP/2.10/plug-ins/id_photo.py:1565: Warning: Two different plugins tried to register 'GeglOpconvert-format_c'.
  gimp.main(self.init, self.quit, self.query, self._run)
/home/user/.config/GIMP/2.10/plug-ins/id_photo.py:1565: Warning: Two different plugins tried to register 'GeglOpconvert-space_c'.
  gimp.main(self.init, self.quit, self.query, self._run)
/home/user/.config/GIMP/2.10/plug-ins/id_photo.py:1565: Warning: Two different plugins tried to register 'GeglOpcrop_c'.
  gimp.main(self.init, self.quit, self.query, self._run)
(Предупреждение: Два разных плагина пытались зарегистрироваться ......)
В эти дни не обновлялся, гимп и ничего другое не перенастраивал. Что могло сломаться?
 
Зарегистрироваться или войдите чтобы оставить сообщение.