如何在jython中使用gtk / pywebkitgtk?

时间:2012-08-23 00:44:11

标签: python gtk jython

在我的ubuntu 12.04上安装了独立的jython,运行它,但是如果我尝试import gtk,我在python控制台中得到no module named gtk它就可以了。

更新

我已经完成了

>> 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下,我不知道出了什么问题......

1 个答案:

答案 0 :(得分:1)

并非所有模块都在Jython和CPython(标准Python解释器)之间兼容。特别是,编译为本机字节码的模块(通常用C / ++(或Cython)编写)无法在Java中加载,因为它使用自己的虚拟机(JVM)无法理解本机字节码。

CPython中的许多本机/二进制模块的名称前缀为下划线,如上面的_glib。

您至少有两个选择:

  • 使用Jython和Java GTK包。
  • 使用CPython,如果需要与Java交谈,请使用CPython与JVM之间接口的其中一个包(例如jpypepy4j)。