我想使用jython在java进程中运行dask。
我使用pip命令安装了dask [complete]。
但是,Java进程引发ImportError:dask
那么我该如何解决此错误?
package test;
import org.python.core.*;
import org.python.util.*;
public class TestJython {
private static PythonInterpreter pi;
public static void main(String[] args) throws PyException {
pi = new PythonInterpreter();
PySystemState sys = pi.getSystemState();
sys.path.append(new PyString("/usr/local/lib/python2.7/dist-packages"));
pi.exec("import dask.dataframe as dd");
}
}
错误日志:
Exception in thread "MainThread" Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/dask/dataframe/__init__.py", line 31, in <module>
raise ImportError(str(e) + '\n\n' + msg)
ImportError: Missing required dependencies ['numpy']
答案 0 :(得分:0)
看起来PythonInterpreter
没有使用正确的PYTHONPATH
设置进行初始化。对于Dask而言,这不是问题,但与如何初始化PythonInterpreter
有关。看起来您可能需要设置python.path
系统属性,或使用JYTHONPATH
环境变量:https://www.stefaanlippens.net/jython_and_pythonpath/。
请注意,敏捷团队没有在Jython进行敏捷的经验,因此不能保证一切都会成功或表现出色。