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脚本编写
- #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 )写的,必然不支持
Jython调用不包含第三方库的python脚本相关推荐
- python第三方库排行-Python模块汇总(常用第三方库)
模块 定义 计算机在开发过程中,代码越写越多,也就越难以维护,所以为了编写可维护的代码,我们会把函数进行分组,放在不同的文件里.在python里,一个.py文件就是一个模块 优点: 提高代码的可维护性 ...
- 以下用于数据存储领域的python第三方库是-Python 二级选择题
88.下面代码的输出结果是 ( A ) print(round(0.1 + 0.2,1) == 0.3) A: True B: 0 C: 1 D: False 解释: round 是一个四舍五入的函数 ...
- CMake基础 第8节 包含第三方库
介绍# 几乎所有重要的项目都需要包含第三方库.头文件或程序.CMake支持使用find_package()函数查找这些工具的路径.这将从CMAKE_MODULE_PATH中的文件夹列表中搜索格式为Fi ...
- 自动安装第三方库python,python第三方库自动安装脚本
#python第三方库自动安装脚本,需要在cmd中运行此脚本 #BatchInstall.py import os libs = {"numpy","matplotlib ...
- 第三方库自动安装脚本(复习)
第三方库自动安装脚本 一."第三方库自动安装脚本"问题分析 1.1 问题分析第三方库自动安装脚本需求:批量安装第三方库需要人工干预,能否自动安装?自动执行pip逐一根据安装需求安装 ...
- java调用第三方dll文件 源码_C++调用python文件(包含第三方库)
本文内容主要参考以下两篇文章: 武军:C++中调用python(VS2017)zhuanlan.zhihu.com C++调用python的那些坑(详细教程步骤)_giser_xupf的博客-CSD ...
- 以下用于数据存储领域的python第三方库是-Python数据存储及表示
[http://naotu.baidu.com/file/15cbc506e3da5e640a40659058d5be24?token=873f2ab3461d8f9a](http://naotu.b ...
- python第三方库排行-Python常用第三方库总结
网络爬虫 网络请求 requests: Requests allows you to send HTTP/1.1 requests extremely easily. 一个处理http请求的客户端库, ...
- 以下用于数据存储领域的python第三方库是-python第三方库系列之一--json
认真生活每一天,认真敲好每一行代码,为了未来的小公主,好好学习,天天向上~ 一.先讲讲json的出现,就要先讲讲序列化 1. 序列化(Serialization):将对象的状态信息转换为可以存储或可以 ...
最新文章
- Kataspace:用HTML5和WebGL创建基于浏览器的虚拟世界
- nginx echo 输出 检查配置正确性
- 搭建IONIC开发环境
- YBTOJ:前缀询问(trie树)
- Hibernate3.x,hibernate3.x,Hibernate3.x整合Spring3.x不能实现自动创建表结构的解决办法:...
- python实验二报告_20172304 2019-2020-2 《Python程序设计》实验二报告
- mysql整理_MySQL 日常整理
- 深度学习 --- 优化入门六(正则化、参数范数惩罚L0、L1、L2、Dropout)
- gcc编译与vc编译器区别
- Ubuntu完美安装QQ
- sql安装过程中,为 SQL Server 代理服务提供的凭据无效。若要继续操作,请为 SQL
- IP电话的VoIP语音网关设计
- 自建 IPA 分发平台
- CAShapeLayer把图片做成圆形效果
- 华为、华三交换机查看光模块收发光及光模块信息
- 计算机快捷键ctrl记忆,PS篇:有效记忆快捷键
- signature=3d7534face990de7e25e7438440abe49,Designing the User Interface 5e
- 触摸屏和显示屏参考文献
- python微信发红包看照片_微信发原图会泄露位置信息?用Python教你通过图片获取用户信息!...
- 人重要的是知耻而后勇
热门文章
- 解题报告——例题 5-6团体队列(Team Queue UVa 540)——31行代码解决
- linux查找influx的安装位置,InfluxDB学习之InfluxDB的安装和简介 | Linux大学
- Python中的数值类型
- verilog 给数组集体赋值_Verilog中如何对数组赋值(存储器memory详解)
- Java 字符串,byte[],16进制的字符串互转
- 用java正则表达式验证字符串(邮箱与网址)
- 更改android模拟器sdcard文件夹的权限
- bootstrap设置button不显示_电脑便签怎么显示不关闭?电脑云便签敬业签怎么设置显示桌面?...
- mysql mydump还原_用mydump对所有数据库进行备份,还原具体案例
- mysql io_MySQL服务器 IO 100%的分析与优化方案