我想从java代码调用python并将参数传递给python中的函数。我在python中封装了一个函数。但问题是我还在python程序中导入了第三方库sklearn。当我调用测试程序并将值传递给python时,我能够运行代码。但是当我尝试使用第三方库如sklearn并在python代码中导入时,我得到了以下错误。
ImportError: No module named sklearn
我为PythonInterpreter类初始化了对象,然后使用以下命令,我包含了sklearn的路径
this.interpreter.exec("import sys");
this.interpreter.exec("sys.path.append(\"/usr/local/lib/python2.7/dist-packages/sklearn\")");
有人能说出如何解决这个问题吗?如何在jython代码中包含第三方库并运行程序?
答案 0 :(得分:1)
由于sklearn依赖于本机CPython扩展,它目前不能与Jython一起使用。但是,请关注JyNI(www.jyni.org),这将极大地改善这一问题,但仍处于早期状态。在JyNI足够成熟之前,您可以使用以下项目之一:
他们通过嵌入CPython解释器并且不与Jython集成来工作。尽管如此,如果你依赖scikit或numpy之类的东西,这些目前是唯一可以使用Java代码的可行方法。