web-dev-qa-db-ja.com

Pythonの2回目のインストールでrsvglibをインストールする

RHELサーバーにpythonの2つのインストールがあります。1つはバージョン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

私の2番目の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

Pygobject 2.26.0(最新の安定バージョン?)でconfigureを実行しています:

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?

Glib2.26.0でmakeを実行する:

/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

これはかなりイライラしています!すべてをインストールせずにこれを行う方法はありますか?

2
Jordan Reiter
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パッケージがインストールされていることを確認してください。インストールされていない場合、-enableをいくつ指定してもモジュールはビルドされません。 :)

更新:

明らかに、上記の更新#2の段階で問題が発生しています。ここで、./configureは、予定されている以外のことを行っていることを示しています。特に、metacityバインディングは、不十分に維持されているとしてconfigureヘルプで呼び出されます。

何が問題なのかよくわかりません-configureからの(長い)出力に役立つものはありますか?または、configure/makeの代わりにwafを使用することもできます。実行:

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

(--disable-allbindingsは必要ないことに注意してください。)

最初の行は、rsvgのみがビルドされることを示しているはずです。

さらなる更新:

このアプローチでは、/opt/python2.6ツリーにpygtkとpycairoを組み込む必要があります。これが、構成が失敗する理由である可能性があります。

4
mattdm