没有名为 pymongo 的模块 - Jython
No module named pymongo - Jython
我有一个 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
我通过导入如下模块解决了问题:-
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导入模块了。
我有一个 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
我通过导入如下模块解决了问题:-
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导入模块了。