Установка rsvg lib при второй установке Python

У меня есть две установки python на моем сервере RHEL, одна на версии 2.4.x (это общая установка RHEL, обновленная с помощью yum) и версию 2.6.x, которую я использую для Django, а также для повседневных сценариев (устанавливается из исходного кода).

Я хотел бы, чтобы библиотека rsvg работала на Python 2.6.x. Он уже присутствует для Python 2.4.x и хранится здесь /usr/lib64/python2.4/site-packages/gtk-2.0/rsvg.so,

Моя вторая установка Python здесь /opt/python2.6,

В идеале, я хотел бы сделать это без полной переустановки Python 2.6!

Обновить

Попытался установить весь пакет gnome-python-desktop и получил

checking for PYGTK... configure: error: Package requirements (pygtk-2.0 >= 2.4.0) were not met.

Серьезно, все, что я хочу, это python-rsvg. Это должно быть возможно без установки каждого пакета в мире.

Обновление № 2

Я запустил это, чтобы получить, как я понимаю, необходимые зависимости:

$ yum install pygobject2 pygobject2-devel librsvg2 librsvg2-devel pygtk2 pygtk2-devel

Бег ./configure --disable-allbindings --enable-rsvg возвращается с сообщением, что единственный модуль, который будет построен metacity,

Обновление № 3

Попытка установить gnome-python-desktop с помощью предоставленных опций конфигурации. Бег make приводит к ошибке:

metacity.c: In function 'pymetacity_add_constants':
metacity.c:955: error: 'META_CURSOR_MOVE_WINDOW' undeclared (first use in this function)
metacity.c:955: error: (Each undeclared identifier is reported only once
metacity.c:955: error: for each function it appears in.)
metacity.c:956: error: 'META_CURSOR_RESIZE_WINDOW' undeclared (first use in this function)
make[2]: *** [metacity_la-metacity.lo] Error 1
make[2]: Leaving directory `/tmp/gnome-python-desktop-2.13.3/metacity'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/gnome-python-desktop-2.13.3'
make: *** [all] Error 2

Бег configure на pygobject 2.26.0 (последняя стабильная версия?):

checking for GLIB - version >= 2.22.4... no
*** Could not run GLIB test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GLIB is incorrectly installed.
configure: error: maybe you want the pygobject-2-4 branch?

Бег make на glib 2.26.0:

/usr/bin/msgfmt -o test.mo ./de.po; \
    /bin/mkdir -p de/LC_MESSAGES; \
    cp -f test.mo de/LC_MESSAGES
./de.po:15: keyword "msgctxt" unknown
./de.po:15:8: parse error
/usr/bin/msgfmt: found 2 fatal errors
cp: cannot stat `test.mo': No such file or directory
make[4]: *** [test.mo] Error 1
make[4]: Leaving directory `/tmp/glib-2.26.0/gio/tests'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/tmp/glib-2.26.0/gio'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/tmp/glib-2.26.0/gio'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/glib-2.26.0'
make: *** [all] Error 2

Это становится довольно неприятно! Есть ли способ сделать это без установки всего?

1 ответ

Решение
export PYTHONPATH=/opt/python2.6
export PATH=/opt/python2.6/bin:$PATH

А потом configure / make / make install модуль python-rsvg (из gnome-python-desktop), и он должен просто работать.

Если вы хотите просто модуль rsvg без остального, вы можете использовать ./configure --disable-allbindings --enable-rsvg,

И убедитесь, что у вас есть librsvg2-devel пакет установлен, иначе модуль не будет собираться независимо от того, сколько вы предоставите --enables.:)

Обновить:

Очевидно, что что-то идет не так на этапе обновления № 2 выше, где ./configure говорит вам, что он делает что-то, кроме того, что он говорит, что собирается. В частности, привязки metacity вызываются в справке по настройке как плохо поддерживаемые.

Я не совсем уверен, что не так - есть ли что-то полезное в (длинном) выводе из configure? Вы также можете попробовать использовать waf вместо того, чтобы настроить / сделать. Бежать:

./waf configure --enable-modules=rsvg
./waf
./waf install

(Отметив, что --disable-allbindings не обязателен.)

В первой строке должно быть указано, что будет построен только rsvg.

Дальнейшее обновление:

При таком подходе вам понадобятся pygtk и pycairo, встроенные в ваш /opt/python2.6 дерево. Это может быть причиной сбоя конфигурации.

Другие вопросы по тегам