我想通过使用jython运行dask.dataframe

时间:2018-12-06 08:09:31

标签: python jython dask

我想使用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']

1 个答案:

答案 0 :(得分:0)

看起来PythonInterpreter没有使用正确的PYTHONPATH设置进​​行初始化。对于Dask而言,这不是问题,但与如何初始化PythonInterpreter有关。看起来您可能需要设置python.path系统属性,或使用JYTHONPATH环境变量:https://www.stefaanlippens.net/jython_and_pythonpath/

请注意,敏捷团队没有在Jython进行敏捷的经验,因此不能保证一切都会成功或表现出色。