Ubuntu12.04のEclipseHeliosでPyDev2.7.1を使用してGTK+アプリケーションを構築しようとしています。しかし、Pythonはクラスgobject.GObjectを見つけることができません。見つけたgobjectライブラリをインストールし、いくつかの外部ライブラリパスを試し ました。たとえば、 gobjectに関するpydev後の問題や、PyDev(Eclipse)でこれらの未解決のインポートを解決する方法について説明しました。。
しかし、これまでのところ何でも機能しました。誰かが回避策/解決策を知っていますか?
よろしくCk
import pygtk
pygtk.require("2.0")
import gobject
class MyClass(gobject.GObject):
...
インポート
from gi.repository import GObject
イーザーは動作しません。
また、gtk-2.0、gi、gobjectモジュールが配置されている/usr/lib/pyshared/python2.7をEclipseのPYTHONPATHに追加しましたが、違いはありませんでした。
インタプリタにもgiの強制ビルトインを追加しましたが、効果はありませんでした。
ここでバグが報告されていますhttp://bugs.debian.org/cgi-bin/bugreport.cgi?bug=649861だけでなく、pygobject3.0.2-4以降で解決されています。私のpython-gobjectのバージョンは3.2.2-1です
インポートは、PyDevおよびターミナルで実行されるテストスクリプトに対して機能します。
from gi.repository import GObject, Gtk
class Test(GObject.GObject):
def __init__(self):
GObject.GObject.__init__(self)
print ("test")
def main(self):
print ("Import has worked")
print (__name__)
if __name__ == '__main__':
test = Test()
test.main()
これをクラスMyClass(GObject.GObject)に適用すると、次のエラーが発生します。
ImportError:gobjectをインポートできませんでした(エラーは次のとおりです:ImportError('gi.repositoryを使用する場合、"gobject"などの静的モジュールをインポートしないでください。"importgobject"のすべての出現箇所を"from gi.repository import GObject"に変更してください。'、 ))
ありませんimport gobject
、だけfrom gi.repository import GObject
です。