0

によって実行されるシェルpython -vで、from gi.repository import Peas入力すると、モジュールのディレクトリが表示されました。

/usr/lib/python2.7/dist-packages/gi/repository

今、私は、、、(インポートできる)などのサブディレクトリを見つけることを期待してこのディレクトリに入りましたPeasRBGtk実際にはその中にあるものは

/usr/lib/python2.7/dist-packages/gi/repository$ ls
__init__.py  __init__.pyc

それでおしまい。ファイルしかない場合、PythonはこのモジュールからPeasをどのようにインポートしてい__init__.pyますか? Peasモジュール内のコードを確認するにはどうすればよいですか?

明らかに、私はこれらすべてをよく理解していません。説明は何ですか?

編集: わかりましたので、これは私の以前の問題に非常に関連しています: IPython での奇妙なモジュールのオートコンプリート動作

したがって、動的バインディングであるため、インポート時に gi.repository が生成されます。理にかなっています。

しかし、Peas を からインポートしている場合gi.repositoryでも、どのコードが正しくインポートされているかを確認する方法があるはずです。PeasActivable インターフェイスを使いたいので。

4

1 に答える 1

0

repositoryディレクトリには__init__.pyファイルがあるためgi.repositoryパッケージです。これは、そこからインポートできることを意味し、パッケージ「ルート」が__init__ファイルになります。同じディレクトリに名前の付いたファイルがある場合は、module.pyからインポートすることもできますgi.repository.module

したがって、あなたの名前PeasRBおよびファイルGtk内ですべて定義する必要があり__init__.pyます。

于 2013-06-08T12:22:11.373 に答える