将新的 jython.jar 应用于 PyDev 的正确方法是什么?
我希望此选项可用,因为我必须在启动时提供 Jython 解释器。使用混合版本可能会导致问题。我希望该解释器的 jython.jar 可用于所有内容,而不仅仅是运行独立的 Jython,但似乎并非如此。
我相信 org.python.pydev.jython 提供了 jython.jar 的一个版本。PyDev 2.7.1 中这个插件的版本有一个 pydev-jython.jar,当我导入这个插件时,它位于运行时类路径中。(导入还会复制我配置的 Jython 解释器的目录。)
如何让 PyDev 使用不同的 jython.jar?
这里有一些更多的背景信息。
我已按照 PyDev 网站上的说明在 Eclipse 中安装 PyDev。我已将 Jython 2.5.3 配置为解释器。
我可以打开一个 Jython 控制台并运行以下命令:
>>> import org.python.core.PySystemState as pss
>>> st = pss()
>>> st.getBuiltins
<bound method <reflected field public org.python.core.PyObject org.python.core.PySystemState.__name__ at 0x1>.getBuiltins of <module 'sys' (built-in)>>
从我作为 Jython Run 运行的 python 模块执行此操作也没有问题。
但是,当我尝试从 java 访问 getBuiltins 时,我收到一个编译时错误,指出方法 getBuiltins 没有为 PySystemState 定义。由于我与这个问题进行了广泛的斗争,我相信发生的事情是 org.python.pydev.jython 提供 jython.jar 而解释器配置仅用于运行 Jython 解释器。
显然,一些 jython.jar 在我的类路径中,因为我在导入 org.python.core.PySystemState 时没有收到任何投诉。这些症状与没有 Jython 2.5.3 完整 API 的旧 jython.jar 一致。
任何帮助将不胜感激——我不想再获得风滚草青铜!:-)