【发布时间】:2015-10-23 19:16:26
【问题描述】:
我有这个Java 代码,我用它来运行python script 使用Jython ScriptEngine:
StringWriter writer = new StringWriter();
ScriptEngineManager manager = new ScriptEngineManager();
ScriptContext context = new SimpleScriptContext();
context.setWriter(writer);
ScriptEngine engine = manager.getEngineByName("python");
engine.eval(new FileReader("/Users/folder1/test.py"), context);
在我的python script 中有几个模块导入语句,当我运行Java 代码时,我得到javax.script.ScriptException: ImportError: No module named psycopg2 的错误。所有模块都安装在我的机器上,当我通过 CLI 正常运行 python script 时,它会执行。所以我的理解是 Jython classpath 正在其他地方寻找 python 模块。
如何检查 Jython ScriptEngine 在哪里查找模块,然后修改它,包括我的 python 模块实际存在的位置?我是新手,所以请原谅任何缺乏理解。
注意:我的机器上安装了CentOS 和python 2.7.5
【问题讨论】:
标签: java python classpath jython scriptengine