我有一个python脚本,我试图通过Java代码运行它:
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);
当我运行此代码时,我收到错误javax.script.ScriptException: ImportError: No module named psycopg2
。我正在我的python脚本中导入psycopg2。
我已经安装了psycopg2(从终端使用pip install
),当我从终端执行python test.py
时,它会执行但是上面的java代码失败并出现上面提到的错误。
我有python 2.7.5
和psycopg2 2.6.1
。我还有CentOS
这里有什么问题以及如何解决?
注意:使用ScriptEngine
运行python脚本是系统的一项要求。我知道有一种Process
方法也可以运行python脚本,但由于要求限制了Process
的使用,我无法使用它。