【发布时间】:2017-07-31 06:24:07
【问题描述】:
我正在使用 jython 2.7.0 并且一切正常,除了一件事:我无法导入任何东西。我执行以下操作:
PythonInterpreter.initialize(props, System.getProperties(), new String[]{script.getParams().toJSON(), script.getContext().toJSON()});
PythonInterpreter interpreter = new PythonInterpreter();
interpreter.execfile(script.getPath());
interpreter.exec("import sys");
interpreter.exec("import json");
interpreter.exec("import random");
PyObject answerEvent = interpreter.eval("json.loads(sys.argv[0])");
PyObject answerContext = interpreter.eval("json.loads(sys.argv[1])");
PyObject answerResult = interpreter.eval("json.dumps(handler(sys.argv[0], sys.argv[1]))");
System.out.println("=====================================================================");
System.out.println(answerEvent.toString());
System.out.println(answerContext.toString());
System.out.println(answerResult.toString());
System.out.println("=====================================================================");
我运行哪个导入真的无关紧要,我总是得到错误:
Exception in thread "main" Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named json
或
Import Error: No module named random
如何让导入工作。
编辑
抱歉,我的信息不完全正确:import sys 工作正常。其他两个导入都没有。
编辑 2
我尝试了here in the last post 中描述的推荐解决方法,但结果相同。
【问题讨论】:
-
将您的 JYTHONPATH 设置为您的 Jython jar 文件所在的任何位置。
-
Python 和 jython 本身正在工作。如果我只是运行一个简单的 hello world 而不导入任何东西,它就可以正常工作。
-
如果你使用 Jython 的独立版本,我认为它应该可以工作。