允许Python动态访问任意Java对象(基于ctypes/cffi的Py4J)
项目描述
目前仅作为占位符(因为基础包jtypes.jvm仍在开发中)
jtypes.py4j
允许Python动态访问任意Java对象。
概述
jtypes.py4j 允许Python程序通过Java的本地调用接口(JNI)动态访问任意Java对象。
jtypes.py4j 是一个基于ctypes或cffi库的轻量级Python包。这是一个几乎完全符合Barthelemy Dagenais的Py4J包的实现,通过使用JNI在纯Python中重新实现其功能,而不是通过自定义API服务在Python和Java之间进行转换。
关于Py4J
内容来自原始网站
Py4J允许在Python解释器中运行的Python程序动态访问Java虚拟机中的Java对象。方法调用就像Java对象位于Python解释器中一样,并且可以通过标准的Python集合方法访问Java集合。Py4J还允许Java程序回调Python对象。
以下是一个使用Py4J的简单示例。以下Python程序从一个JVM创建了一个java.util.Random实例,并调用了它的一些方法。>>> from py4j.java_gateway import JavaGateway >>> gateway = JavaGateway() # connect to the JVM >>> random = gateway.jvm.java.util.Random() # create a java.util.Random instance >>> number1 = random.nextInt(10) # call the Random.nextInt method >>> number2 = random.nextInt(10) >>> print(number1,number2) (2, 7)
需求
Java运行时(JRE)或Java开发工具包(JDK),以及NumPy。
安装
先决条件
Python 2.7或更高版本或3.4或更高版本
2.7和3.6是主要的测试环境。
pip和setuptools
要安装,请运行
python -m pip install --upgrade jtypes.py4j
为确保一切运行正常,您可以运行测试
python -m jt.py4j.tests
开发
访问开发页面
从源安装
克隆源代码并运行
python -m pip install ./jtypes.py4j
或在开发模式下
python -m pip install --editable ./jtypes.py4j
先决条件
开发严格基于tox。要安装它,请运行
python -m pip install tox
许可证
版权(c)2015-2018,Adam Karpierz许可协议:BSD请参阅附带的LICENSE文件。
变更日志
0.10.8a1 (2018-11-08)
与Py4J主分支(v.0.10.8)同步。
更新所需的setuptools版本。
设置和测试的一些小改进。
0.10.7a2 (2018-09-14)
与Py4J主分支(v.0.10.7)同步。
0.10.7a1 (2018-06-15)
与Py4J主分支(v.0.10.7)同步。
0.10.6a4 (2018-05-22)
更新所需的setuptools版本。
0.10.6a3 (2018-02-26)
设置和打包的改进和简化。
0.10.6a2 (2018-01-29)
开发迁移到github。
版本号与原始Py4J同步。
0.0.1a1 (2017-01-10)
第一个alpha版本。
0.0.1a0 (2015-08-05)
初始版本。
项目详情
关闭
jtypes.py4j-0.10.8a1.zip的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a351fe621c86339f560bb48efc61e2699729afa7ea55c28f6c763a9736727cd8 |
|
MD5 | 077834864d0ff57725183104117da002 |
|
BLAKE2b-256 | bd679e83b47fb681b7e3343c5a3760b3fd9fa52db67c287ffc2dfd12880ac67f |