【问题标题】:PyhtonInterpreter all imports are failingPyhtonInterpreter 所有导入均失败
【发布时间】: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 的独立版本,我认为它应该可以工作。

标签: java python jython


【解决方案1】:

修复了以下内容:

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文件夹(但我还是不知道为什么)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-28
    • 2017-04-25
    • 1970-01-01
    • 1970-01-01
    • 2020-05-27
    • 1970-01-01
    • 1970-01-01
    • 2016-04-07
    相关资源
    最近更新 更多