Issue 475 in foobnix: ImportError: No module named pygtkcompat

50 views
Skip to first unread message

foo...@googlecode.com

unread,
Mar 10, 2015, 3:05:54 PM3/10/15
to foo...@googlegroups.com
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium

New issue 475 by dap.dark...@gmail.com: ImportError: No module named
pygtkcompat
https://code.google.com/p/foobnix/issues/detail?id=475

What steps will reproduce the problem?
1. install
2. run
3.

What is the expected output? What do you see instead?
Running app.

%foobnix
Traceback (most recent call last):
File "/usr/bin/foobnix", line 9, in
from gi import pygtkcompat, require_version
File "/usr/lib64/python2.7/site-packages/gi/pygtkcompat.py", line 10, in
ImportError: No module named pygtkcompat

What version of the product are you using? On what operating system?
3.0 at openSUSE 13.2

Please provide any additional information below.

%locate pygtkcompat.py
/usr/lib64/python2.7/site-packages/gi/pygtkcompat.pyc
/usr/lib64/python2.7/site-packages/gi/pygtkcompat.pyo

%zypper se -is gobject
S | Name | Type | Version | Arch
--+------------------------+---------+---------------+--------
i | libcairo-gobject2 | package | 1.14.0-7.8.1 | x86_64
i | libgobject-2_0-0 | package | 2.42.1-5.1 | x86_64
i | python-gobject | package | 3.14.0-1.2 | x86_64
i | python-gobject-cairo | package | 3.14.0-1.2 | x86_64
i | python-gobject2 | package | 2.28.6-25.1.5 | x86_64
i | libgobject-2_0-0-32bit | package | 2.42.1-5.1 | x86_64

%rpm -ql python-gobject | grep gi
/usr/lib64/python2.7/site-packages/gi
/usr/lib64/python2.7/site-packages/gi/__init__.py
/usr/lib64/python2.7/site-packages/gi/__init__.pyc
/usr/lib64/python2.7/site-packages/gi/__init__.pyo
/usr/lib64/python2.7/site-packages/gi/_constants.py
/usr/lib64/python2.7/site-packages/gi/_constants.pyc
/usr/lib64/python2.7/site-packages/gi/_constants.pyo
/usr/lib64/python2.7/site-packages/gi/_error.py
/usr/lib64/python2.7/site-packages/gi/_error.pyc
/usr/lib64/python2.7/site-packages/gi/_error.pyo
/usr/lib64/python2.7/site-packages/gi/_gi.so
/usr/lib64/python2.7/site-packages/gi/_gobject
/usr/lib64/python2.7/site-packages/gi/_gobject/__init__.py
/usr/lib64/python2.7/site-packages/gi/_gobject/__init__.pyc
/usr/lib64/python2.7/site-packages/gi/_gobject/__init__.pyo
/usr/lib64/python2.7/site-packages/gi/_option.py
/usr/lib64/python2.7/site-packages/gi/_option.pyc
/usr/lib64/python2.7/site-packages/gi/_option.pyo
/usr/lib64/python2.7/site-packages/gi/_propertyhelper.py
/usr/lib64/python2.7/site-packages/gi/_propertyhelper.pyc
/usr/lib64/python2.7/site-packages/gi/_propertyhelper.pyo
/usr/lib64/python2.7/site-packages/gi/_signalhelper.py
/usr/lib64/python2.7/site-packages/gi/_signalhelper.pyc
/usr/lib64/python2.7/site-packages/gi/_signalhelper.pyo
/usr/lib64/python2.7/site-packages/gi/docstring.py
/usr/lib64/python2.7/site-packages/gi/docstring.pyc
/usr/lib64/python2.7/site-packages/gi/docstring.pyo
/usr/lib64/python2.7/site-packages/gi/importer.py
/usr/lib64/python2.7/site-packages/gi/importer.pyc
/usr/lib64/python2.7/site-packages/gi/importer.pyo
/usr/lib64/python2.7/site-packages/gi/module.py
/usr/lib64/python2.7/site-packages/gi/module.pyc
/usr/lib64/python2.7/site-packages/gi/module.pyo
/usr/lib64/python2.7/site-packages/gi/overrides
/usr/lib64/python2.7/site-packages/gi/overrides/GIMarshallingTests.py
/usr/lib64/python2.7/site-packages/gi/overrides/GIMarshallingTests.pyc
/usr/lib64/python2.7/site-packages/gi/overrides/GIMarshallingTests.pyo
/usr/lib64/python2.7/site-packages/gi/overrides/GLib.py
/usr/lib64/python2.7/site-packages/gi/overrides/GLib.pyc
/usr/lib64/python2.7/site-packages/gi/overrides/GLib.pyo
/usr/lib64/python2.7/site-packages/gi/overrides/GObject.py
/usr/lib64/python2.7/site-packages/gi/overrides/GObject.pyc
/usr/lib64/python2.7/site-packages/gi/overrides/GObject.pyo
/usr/lib64/python2.7/site-packages/gi/overrides/Gdk.py
/usr/lib64/python2.7/site-packages/gi/overrides/Gdk.pyc
/usr/lib64/python2.7/site-packages/gi/overrides/Gdk.pyo
/usr/lib64/python2.7/site-packages/gi/overrides/Gio.py
/usr/lib64/python2.7/site-packages/gi/overrides/Gio.pyc
/usr/lib64/python2.7/site-packages/gi/overrides/Gio.pyo
/usr/lib64/python2.7/site-packages/gi/overrides/Gtk.py
/usr/lib64/python2.7/site-packages/gi/overrides/Gtk.pyc
/usr/lib64/python2.7/site-packages/gi/overrides/Gtk.pyo
/usr/lib64/python2.7/site-packages/gi/overrides/Pango.py
/usr/lib64/python2.7/site-packages/gi/overrides/Pango.pyc
/usr/lib64/python2.7/site-packages/gi/overrides/Pango.pyo
/usr/lib64/python2.7/site-packages/gi/overrides/__init__.py
/usr/lib64/python2.7/site-packages/gi/overrides/__init__.pyc
/usr/lib64/python2.7/site-packages/gi/overrides/__init__.pyo
/usr/lib64/python2.7/site-packages/gi/overrides/keysyms.py
/usr/lib64/python2.7/site-packages/gi/overrides/keysyms.pyc
/usr/lib64/python2.7/site-packages/gi/overrides/keysyms.pyo
/usr/lib64/python2.7/site-packages/gi/pygtkcompat.pyc
/usr/lib64/python2.7/site-packages/gi/pygtkcompat.pyo
/usr/lib64/python2.7/site-packages/gi/repository
/usr/lib64/python2.7/site-packages/gi/repository/__init__.py
/usr/lib64/python2.7/site-packages/gi/repository/__init__.pyc
/usr/lib64/python2.7/site-packages/gi/repository/__init__.pyo
/usr/lib64/python2.7/site-packages/gi/types.py
/usr/lib64/python2.7/site-packages/gi/types.pyc
/usr/lib64/python2.7/site-packages/gi/types.pyo

--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

foo...@googlecode.com

unread,
Mar 13, 2015, 2:58:28 PM3/13/15
to foo...@googlegroups.com
Updates:
Status: ToSpecify
Owner: zavl...@gmail.com

Comment #1 on issue 475 by zavl...@gmail.com: ImportError: No module named
pygtkcompat
https://code.google.com/p/foobnix/issues/detail?id=475

Hello.
The trouble is that opensuse pygtkcompat maintainers remove pygtkcompat.py
in their installation script.
rm %{buildroot}%{local_py_sitedir}/gi/pygtkcompat.py

More info here:
https://forums.opensuse.org/showthread.php/496179-Problem-with-twisted-gtk3reactor-and-pygtkcompat-on-13-1

The problem like this has been in Arch (with import pygtkcompat for foobnix
3.0). But their maintainers have solved it.
See last three comments here:
https://aur.archlinux.org/packages/foobnix/


By the way I recomends to use 3.0.04 version. There was fixed important bug
with converter.

foo...@googlecode.com

unread,
Mar 13, 2015, 3:03:32 PM3/13/15
to foo...@googlegroups.com

Comment #2 on issue 475 by zavl...@gmail.com: ImportError: No module named
pygtkcompat
https://code.google.com/p/foobnix/issues/detail?id=475

Да, если что можно по-русски :)

foo...@googlecode.com

unread,
Mar 13, 2015, 3:45:05 PM3/13/15
to foo...@googlegroups.com

Comment #3 on issue 475 by dap.dark...@gmail.com: ImportError: No module
named pygtkcompat
https://code.google.com/p/foobnix/issues/detail?id=475

Хорошо, спасибо. Открою тикет, если не выйдет, придётся заплатки делать.

foo...@googlecode.com

unread,
Mar 16, 2015, 11:14:43 AM3/16/15
to foo...@googlegroups.com

Comment #4 on issue 475 by dap.dark...@gmail.com: ImportError: No module
named pygtkcompat
https://code.google.com/p/foobnix/issues/detail?id=475

https://bugzilla.opensuse.org/show_bug.cgi?id=922371
Ответ мейтейнера:
> GTK2 is not written with introspection in mind and simply does not work
> reliable.. hence it was intentionally removed with the comment:
> > Drop pygtkcompat subpackage: the compatibility layer is no longer
used and causes adverse side-effects (like pulling in Gtk2,
which is not corectly introspectable, causing all kind of other
weird issues).
> Any code that actually relies on it is broken by design.

Есть желание поспорить? :)

foo...@googlecode.com

unread,
Mar 16, 2015, 11:43:36 AM3/16/15
to foo...@googlegroups.com

Comment #5 on issue 475 by zavl...@gmail.com: ImportError: No module named
pygtkcompat
https://code.google.com/p/foobnix/issues/detail?id=475

Что я могу сказать.
Ничего другого я не ждал. Если у них хватило ума на удаление основного
файла из пакета...
Он вообще понимает, что говорит? Почему, он сам решает за всех, что кому
нужно? Хочет сэкономить несколько килобайт места? Тогда зачем вообще этот
пакет, если требующие его приложения не могут его юзать?

Может, будет понятнее, если я для Вас поясню:
Приложения, ранее написанные на PyGTK (а это GTK2) при переписи на GTK3 с
использованием GObject Introspection могут сохранять фишки PyGTK (например,
для работы с деревьями или с упаковщиками). Т.е. если есть возможность
получить требуемый результат одной командой в стиле PyGTK (при
использовании pygtkcompat), почему я должен все переписать в сишном стиле в
десятикратном размере, т.к. мантейнер Suse решил, что он самый умный в
мире :) Зато код в правильном стиле написан.

По такой логике не нужны и все языки над Си и над Java (в том числе и сам
Python). Ведь он позволяет использовать упрощающие код фишки и в 4 раза
лаконичнее.

Возникает один вопрос. Если он один такой умный, почему ВСЕ дистры собирают
этот пакет, а также почему ВСЕ другие дистрибутивы не удаляют
pygtkcompat.py в скриптах установки?

Дикость какая-то, честное слово.

foo...@googlecode.com

unread,
Mar 16, 2015, 3:59:47 PM3/16/15
to foo...@googlegroups.com

Comment #6 on issue 475 by dap.dark...@gmail.com: ImportError: No module
named pygtkcompat
https://code.google.com/p/foobnix/issues/detail?id=475

Что тут мне объяснять :) Придётся собрать пакет, спасти файлы и вкинуть в
другой пакет, который тянуть с фубниксом. Закрывайте репорт.

foo...@googlecode.com

unread,
Mar 16, 2015, 4:00:48 PM3/16/15
to foo...@googlegroups.com

Comment #7 on issue 475 by dap.dark...@gmail.com: ImportError: No module
named pygtkcompat
https://code.google.com/p/foobnix/issues/detail?id=475

PS Быстрей бы гуглокод закрыли, капчу раза с тридцатого подобрал.

foo...@googlecode.com

unread,
Mar 16, 2015, 4:30:18 PM3/16/15
to foo...@googlegroups.com
Updates:
Status: WontFix

Comment #8 on issue 475 by zavl...@gmail.com: ImportError: No module named
pygtkcompat
https://code.google.com/p/foobnix/issues/detail?id=475

(No comment was entered for this change.)
Reply all
Reply to author
Forward
0 new messages