1

私のubuntu12.04にインストールされているスタンドアロンのjythonで実行しますが、実行しようとするとimport gtkno module named gtkPythonコンソールで動作するようになります。

アップデート:

私はやった

>> sys.path.insert(1,"/usr/lib/python2.7/dist-packages/gtk-2.0")

>> sys.path.insert(1,'/usr/lib/python2.7/dist-packages")

そして今は

    from glib._glib import *
ImportError: No module named _glib

いつ:

argon@vprime:/usr/lib/python2.7$ find | grep _glib
./dist-packages/gi/_glib
./dist-packages/gi/_glib/option.pyc
./dist-packages/gi/_glib/option.py
./dist-packages/gi/_glib/_glib.so
./dist-packages/gi/_glib/__init__.pyc
./dist-packages/gi/_glib/__init__.py
./dist-packages/glib/_glib.so
./dist-packages/twisted/internet/test/test_glibbase.pyc
./dist-packages/twisted/internet/test/test_glibbase.py
./dist-packages/twisted/internet/_glibbase.py
./dist-packages/twisted/internet/_glibbase.pyc
./dist-packages/_dbus_glib_bindings.so

だから、glib/_glib下にdist-packagesあり、私は何が間違っているのか分かりません...

4

1 に答える 1

1

すべてのモジュールがJythonとCPython(標準のPythonインタープリター)の間で互換性があるわけではありません。特に、ネイティブバイトコードにコンパイルされ、通常はC / ++(またはCython)で記述されたモジュールは、ネイティブバイトコードを理解できない独自の仮想マシン(JVM)を使用するため、Javaでロードできません。

CPythonの多くのネイティブ/バイナリモジュールには、上記の_glibのように、名前の前にアンダースコアが付いています。

少なくとも2つのオプションがあります。

  • JythonとJavaGTKパッケージを使用します。
  • CPythonを使用し、Javaと通信する必要がある場合は、CPythonとJVMの間のインターフェイスとなるパッケージの1つ(jpypepy4jなど)を使用します。
于 2012-08-23T02:15:23.053 に答える