3

私はGtk+ 3Pythonで書かれたプログラムで作業しています。私のプログラムについて私が尋ねた関連する質問はこちらです。

さて、もう少し進んだので、次のインポートがあります。

import aplpy
import montage
import subprocess
from gi.repository import Gtk, GdkPixbuf

実行すると、次のエラーが表示されます。

$ ./makeRGB-frame.py 
Traceback (most recent call last):
  File "./makeRGB-frame.py", line 34, in <module>
    from gi.repository import Gtk, GdkPixbuf
  File "/usr/lib64/python2.7/site-packages/gi/__init__.py", line 27, in <module>
    from ._gi import _API, Repository
ImportError: could not import gobject (error was: ImportError('When using gi.repository you must not import static modules like "gobject". Please change all occurrences of "import gobject" to "from gi.repository import GObject".',))

インポートの順序を変更した場合:

from gi.repository import Gtk, GdkPixbuf
import aplpy
import montage
import subprocess

エラーも表示されます:

$ ./makeRGB-frame.py 
/usr/lib64/python2.7/site-packages/gobject/constants.py:24: Warning: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed
  import gobject._gobject
/usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py:40: Warning: specified class size for type `PyGtkGenericCellRenderer' is smaller than the parent type's `GtkCellRenderer' class size
  from gtk import _gtk
/usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py:40: Warning: g_type_get_qdata: assertion `node != NULL' failed
  from gtk import _gtk
Segmentation fault (core dumped)

インポートされたモジュールは次のとおりです: APLpyおよびpython-montage

これらのエラーの回避策を教えてください。どんな助けでも大歓迎です!

ドイツ人。

4

1 に答える 1

3

一部のモジュールは静的Gtk+2.0バインディング「PyGtk」を使用しています:http ://www.pygtk.org/ 動的Gtk + 3.0バインディング「PyGObject」を使用しています:https ://live.gnome.org/PyGObject

両方のライブラリを同時にロードすることはできません。ロードすると、インポートエラーとセグメンテーション違反が発生します。

私のゲストは、責任者がAPLpyモジュールであるということです。ソースコードをチェックして、PyGtkのインポートを探すか、PyGObjectがサポートされているかどうかを開発者に尋ねてください。

于 2013-03-22T11:34:49.210 に答える