3

jdk 1.8 と Jython 2.7.0.jar を使用して Python コードを実行しています。しかし、Jython は Python の 2.7 機能の 'reportlab' モジュールをサポートしていないようです。

私のJavaコード:

package test;

import java.util.logging.Level;
import java.util.logging.Logger;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;

public class Test{
        public Test()  
        {
         System.out.println("Done!");
        engine.eval("import sys");
        engine.eval("print sys");
        engine.eval("import reportlab");
        engine.eval("print reportlab");
        System.out.println("Done Here");
    } 
    catch (ScriptException ex) 
    {
        Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        System.out.println(ex);
    }
}
public static void main(String args[])
{
    Test t=new Test();
}
}

私が得たエラー:

run:
Done!
<module 'sys' (built-in)>
javax.script.ScriptException: ImportError: No module named reportlab in    <script> at line number 1
Dec 28, 2015 8:57:52 PM test.Test <init>
SEVERE: null
javax.script.ScriptException: ImportError: No module named reportlab in    <script> at line number 1
    at      org.python.jsr223.PyScriptEngine.scriptException(PyScriptEngine.java:202)
at org.python.jsr223.PyScriptEngine.eval(PyScriptEngine.java:42)
at org.python.jsr223.PyScriptEngine.eval(PyScriptEngine.java:31)
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
at test.Test.<init>(Test.java:28)
at test.Test.main(Test.java:40)
Caused by: Traceback (most recent call last):
 File "<script>", line 1, in <module>
ImportError: No module named reportlab

at org.python.core.Py.ImportError(Py.java:328)
at org.python.core.imp.import_first(imp.java:877)
at org.python.core.imp.import_module_level(imp.java:972)
at org.python.core.imp.importName(imp.java:1062)
at org.python.core.ImportFunction.__call__(__builtin__.java:1280)
at org.python.core.PyObject.__call__(PyObject.java:431)
at org.python.core.__builtin__.__import__(__builtin__.java:1232)
at org.python.core.imp.importOne(imp.java:1081)
at org.python.pycode._pyx2.f$0(<script>:1)
at org.python.pycode._pyx2.call_function(<script>)
at org.python.core.PyTableCode.call(PyTableCode.java:167)
at org.python.core.PyCode.call(PyCode.java:18)
at org.python.core.Py.runCode(Py.java:1386)
at org.python.core.__builtin__.eval(__builtin__.java:497)
at org.python.core.__builtin__.eval(__builtin__.java:501)
at org.python.util.PythonInterpreter.eval(PythonInterpreter.java:259)
at org.python.jsr223.PyScriptEngine.eval(PyScriptEngine.java:40)
... 4 more

BUILD SUCCESSFUL (合計時間: 2 秒)

誰かが Python スクリプトをリモートで実行する別の方法を提案してくれたら、私は彼らに感謝します。

また、予定された時間内に Java で書き直すことができない Python の大規模なコード ベースがあります。

4

2 に答える 2