0

Python スクリプトがあり、Jython を使用して Java プロセスを介して同じスクリプトを実行しています。

データベース - mongodb

Pom.xml

<dependency>
    <groupId>org.python</groupId>
    <artifactId>jython-standalone</artifactId>
    <version>2.7.0</version>
</dependency>

Java プロセス

public String execute(String val) throws FileNotFoundException,
            ScriptException {
        ClassLoader classLoader = getClass().getClassLoader();
        InputStream is = (InputStream) classLoader
                .getResourceAsStream("my.py");

        PythonInterpreter interpreter = new PythonInterpreter();
        interpreter.execfile(is);

        PyObject someFunc = interpreter.get("myFunc");
        PyObject result = someFunc.__call__(new PyString(val));
        String realResult = (String) result.__tojava__(String.class);
        return realResult;
    }

Pythonスクリプトを実行するとmy.py、以下のエラーが発生します

File "<iostream>", line 3, in <module>
ImportError: No module named pymongo
4

1 に答える 1

0

以下のようにモジュールをインポートすることで解決しました:-

   PythonInterpreter interpreter = new PythonInterpreter(null, new PySystemState());
   PySystemState sys = interpreter.getSystemState();
   sys.path.append(new PyString("\\python_modules\\pymongo-3.3.0-cp26-none-win_amd64.whl"));

hereからpymongoモジュールをダウンロードしました。上記は私にとってはうまくいきました。このようにして、jythonを介してモジュールをインポートできます。

于 2016-07-31T11:29:08.237 に答える