3

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です。

4

1 に答える 1

1

やっと見つけました。

import gobject


class MyClass(gobject.GObject):

def __init__(self, channelstrip, name, s_type, mainWin):
    gobject.GObject.__init__(self)
于 2013-01-15T15:47:08.823 に答える