вторник, 13 сентября 2011 г.

Заставляем guake работать в openSUSE 11.4

Если после установки guake c Packman'а вы ловите:

playpauseandstop@octave:~> DISPLAY=:0 guake
Traceback (most recent call last):
  File "/usr/lib64/guake/guake.py", line 27, in 
    import vte
ImportError: could not import gobject (could not find _PyGObject_API object)
playpauseandstop@octave:/srv/files/RPMs> DISPLAY=:0 guake
Traceback (most recent call last):
  File "/usr/lib64/guake/guake.py", line 29, in 
    import pynotify
  File "/usr/lib64/python2.7/site-packages/gtk-2.0/pynotify/__init__.py", line 21, in 
    from _pynotify import *
ImportError: could not import gobject (could not find _PyGObject_API object)
playpauseandstop@octave:~> DISPLAY=:0 guake-prefs
Traceback (most recent call last):
  File "/usr/lib64/guake/prefs.py", line 25, in 
    import gconf
ImportError: could not import gobject (could not find _PyGObject_API object)

Не спешите расстраиваться, решение есть, для начала подключаем репозитарий с Python-библиотеками и устанавливаем оттуда python-gobject2:

$ sudo -s
# zypper ar -f http://download.opensuse.org/repositories/devel:/languages:/python/openSUSE_11.4 Python
# zypper ref Python
# zypper in python-gobject2

А потом скачиваем с Factory обновленные пакеты python-gconf, python-notify и python-zte и обновляем их (для python-notify понадобятся более свежие версии libnotify-tools и libnotify4, а для python-vte - более свежие версии libvte9 и gnome-pty-helper):

$ cd /path/to/RPMs
$ wget http://download.opensuse.org/factory/repo/oss/suse/x86_64/python-gconf-2.28.1-11.5.x86_64.rpm
$ wget http://download.opensuse.org/factory/repo/oss/suse/x86_64/python-notify-0.1.1-19.5.x86_64.rpm
$ wget http://download.opensuse.org/factory/repo/oss/suse/x86_64/libnotify4-0.7.4-1.1.x86_64.rpm
$ wget http://download.opensuse.org/factory/repo/oss/suse/x86_64/libnotify-tools-0.7.4-1.1.x86_64.rpm
$ wget http://download.opensuse.org/factory/repo/oss/suse/x86_64/python-vte-0.28.1-2.3.x86_64.rpm
$ wget http://download.opensuse.org/factory/repo/oss/suse/x86_64/libvte9-0.28.1-2.3.x86_64.rpm
$ wget http://download.opensuse.org/factory/repo/oss/suse/x86_64/gnome-pty-helper-0.28.1-2.3.x86_64.rpm
$ sudo -s
# rpm -Uvh python-gconf-2.28.1-11.5.x86_64.rpm
# rpm -Uvh libnotify4-0.7.4-1.1.x86_64.rpm libnotify-tools-0.7.4-1.1.x86_64.rpm python-notify-0.1.1-19.5.x86_64.rpm
# rpm -Uvh gnome-pty-helper-0.28.1-2.3.x86_64.rpm libvte9-0.28.1-2.3.x86_64.rpm python-vte-0.28.1-2.3.x86_64.rpm

Все, готово, теперь и gconf, и pynotify, и vte библиотеки успешно импортируются питоном, а guake спокойно открывается и работает!

зы. Если честно, в итоге решение не особо красивым получилось, но удалось заставить guake (а также другие Python-приложения, использующие обозначенные библиотеки, работать).