PyhtonInterpreter所有导入失败

时间:2017-07-31 06:24:08

标签: java python jython

我正在使用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所述的推荐解决方法,但结果是一样的。

1 个答案:

答案 0 :(得分:0)

修正了以下内容:

interpreter.exec("import sys");
interpreter.exec("sys.path.append('/usr/lib/python2.7')");
interpreter.exec("import random");
interpreter.exec("import json");

我需要指向python 2.7的lib文件夹(但我还不知道为什么)