プロが教える店舗&オフィスのセキュリティ対策術

CentOS5.5にはPython2.4がデフォルトで入っているのですが、Python2.6でスクリプトを作成する必要がありバージョンアップをしているのですが、dbusモジュールのインポートができず行き詰っております。
具体的には、Python2.4とdbus-pythonがインストールされている状態で、下記のURLを参考にyumでPython2.6をインストールしました。
環境としては「/usr/bin/phthon2.4」と「/usr/bin/phthon2.6」が出来た状態です。
libは「「/usr/lib/phthon2.4」と「/usr/lib/phthon2.6」です。
dbus-pythonのインストール先は「/usr/lib64/python2.4/site-packages/dbus」になります。

Python2.4を環境で下記のインポートは問題ありません。
>>>import dbus

しかし、Python2.6環境で同じコマンドを実行すると下記のようなエラーになります。
>>> import dbus
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named dbus

dbusの再インストールはリスクが高いと思い、モジュールのパスを通してみたところ下記のようなエラーになりました。
>>> import sys
>>> sys.path.append('/usr/lib64/python2.4/site-packages')
>>> import dbus
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python2.4/site-packages/dbus/__init__.py", line 1, in <module>
from _dbus import *
File "/usr/lib64/python2.4/site-packages/dbus/_dbus.py", line 45, in <module>
import dbus_bindings
ImportError: /usr/lib64/python2.4/site-packages/dbus/dbus_bindings.so: undefined symbol: Py_InitModule4


rpmでモジュールインストール先の変更や、Python自体をソースからインストールなどしてみたのですが、全てうまく行かない状態です。
Pythonバージョンアップ前にインストールされているモジュールの使い方をご存知の方がおられましたら、宜しくお願いします。

A 回答 (1件)

> dbusの再インストールはリスクが高いと思い



なぜそう思いますか。
Python2.4に入っているdbusはバージョンが古くてPython2.6に対応できない可能性があります。
Python2.6側に追加でインストールする方が安全でしょう。
    • good
    • 0
この回答へのお礼

なるほど!
再インストールする事ばかり考えており、Python2.6側にだけインストールする事を思いつきませんでした。
早速インストールしてみます。
ありがとうございます。

お礼日時:2011/02/10 10:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!