生活随笔
收集整理的這篇文章主要介紹了
Jython调用不包含第三方库的python脚本
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、本地環境安裝的是Python 2.7.11
2、用maven下載jython依賴
<pre?name="code"?class="html"><dependency>??????<groupId>org.python</groupId>??????<artifactId>jython</artifactId>??????<version>2.7.0</version>??</dependency>??
3、python腳本編寫
????def?adder(a,?b):???????return?a?+?b?????def?mytest(str2):??????print?str2??????return?'call?success?!!!'??
4、Java調用Python?
<pre?name="code"?class="java">package?test1;????import?java.util.Properties;????import?org.python.core.PyFunction;??import?org.python.core.PyInteger;??import?org.python.core.PyObject;??import?org.python.core.PyString;??import?org.python.util.PythonInterpreter;????public?class?Java2Python?{??????public?static?void?main(String?args[])?{??????????Properties?props?=?new?Properties();??????????props.put("python.home","D:/Python27/Lib");??????????props.put("python.console.encoding",?"UTF-8");???????????props.put("python.security.respectJavaAccessibility",?"false");???????????props.put("python.import.site","false");??????????Properties?preprops?=?System.getProperties();??????????PythonInterpreter.initialize(preprops,?props,?new?String[0]);????????????????????PythonInterpreter?interpreter?=?new?PythonInterpreter();????????????interpreter.execfile("E:/workspace3/test1/src/main/java/test1/my_utils.py");??????????PyFunction?adder?=?(PyFunction)?interpreter.get("adder",?PyFunction.class);????????????int?a?=?30,?b?=?50;??????????PyObject?pyobj?=?adder.__call__(new?PyInteger(a),?new?PyInteger(b));??????????System.out.println("anwser?=?"?+?pyobj.toString());??????????PyFunction?mytest?=?(PyFunction)?interpreter.get("mytest",?PyFunction.class);??????????PyObject?pyobj2?=?mytest.__call__(new?PyString("this?is?java?project!!!"));??????????System.out.println(pyobj2.toString());??????????interpreter.close();????????}??}??
以上方式可以實現Java調用Python,但是在python 腳本中只能有python的原生api,如果在在腳本中有引入pandas,numpy之類的第三方擴展包,還是會是會找不到,這個問題正在查找是什么原因..
numpy , scipy 都是 c python 的第三方模塊,是用 c (部分 c++, 和 fortran )寫的,必然不支持
總結
以上是生活随笔為你收集整理的Jython调用不包含第三方库的python脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。