Jython调用不包含第三方库的python脚本
来源:互联网 发布:泡泡堂 mac 编辑:程序博客网 时间:2024/05/18 17:28
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>
- #coding:utf-8
- 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"); // Used to prevent: console: Failed to install '': java.nio.charset.UnsupportedCharsetException: cp0.
- props.put("python.security.respectJavaAccessibility", "false"); //don't respect java accessibility, so that we can access protected members on subclasses
- 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 )写的,必然不支持
阅读全文
0 0
- Jython调用不包含第三方库的python脚本
- Jython:java调用python文件之第三方包路径问题
- C#调用Python脚本并使用Python的第三方模块
- C#调用Python脚本及使用Python的第三方模块
- C#调用Python脚本并使用Python的第三方模块
- C#调用Python脚本并使用Python的第三方模块
- 你所不知道的Python的第三方库
- 使用Python调用Java第三方库
- python调用第三方模块
- Learning Python -- Java 通过JyThon调用Python实现的规则
- Java通过JYTHON调用python
- Android调用第三方库的方法
- Linux第三方库的调用
- Python与Java之间的相互调用——Jython
- java调用python(jython)的报错
- Hadoop运行包含第三方依赖库的MapReduce作业
- PyThon第三方库
- 第三方python库
- 转载 自己学习的(简单多线程)
- ConcurrentHashMap原理分析
- java 去除数组中重复的元素
- HttpHelper封装类
- Linux常用命令
- Jython调用不包含第三方库的python脚本
- 关于hibernate懒加载异常 以及left fetch on 多级子表关联
- 真格基金、腾讯为什么都看好这家人工智能初创公司?
- padding与margin
- Android Studio之Gradle文件解析1
- Delphi的Dll中获取文件路径
- mjpg-streamer简单解析
- 《产品网事》序
- 网易2017内推笔试1:下厨房 [python]