Python与Java之间的一个桥接口(cType /CFFI基于RujICON Java)

jtypes.rubicon的Python项目详细描述


**目前仅作为占位符(因为基本包jTypj.jvm仍在开发中)*RuBix.Br/>Java,允许它们相互通信。这是一个允许Python程序完全访问Java类库的努力。
BR/>‘pyPI记录’。
BR/> **JType。RuBix**是一个轻量级的Python包,基于*cType *或*cffi*库。
这是Steve Menard的*JPPype **包几乎完全兼容的实现,通过在干净的Python中而不是C/C++中重新实现它的全部功能。"原始网站":
RuiCOMJava
> BR/> *BR/**RuPICONJava**是Java运行时环境与Python之间的桥梁。
使您可以:
BR/> *在Java中定义的实例化对象,
*调用Java中定义的对象的静态和实例方法,*BR/> *访问和修改Java中定义的对象上的静态和实例字段,并使用Java定义的接口的Python实现编写和使用。< BR/> BR/>快速启动< BR/> ----BR/> BR/> RujiJava Java由三个部分组成:
BR/> 1。一个python库,
2。一个jni库,并且
3.提供了一个Java JAR文件。键入::

$make

编译它们。编译后的输出将放在"dist"目录中。

…警告:跨平台支持

此生成文件当前仅在OS/X下工作;但是,生成命令
并不复杂;在其他
平台上复制生成应该相当容易。拉请求使"MaFig文件"跨平台受到欢迎。
BR/>使用RujixJava,您需要确保:
BR/> 1。当您启动Java VM时,"Ruximix.jar"位于类路径中。
BR/> 2。rubicon库文件位于动态库发现的某个位置。这意味着:

a.在os x下,将包含"librubicon.dylib"的目录放在您的"dyld-library"路径中。在linux下,将包含"librubicon.so"的目录放在您的"ld-library"路径中。某物:—)


3。"rubicon"python模块可以添加到
"pythonpath"中。你可以安装RuBICON使用::
BR/> $PUP安装RuBijavaJavaBR/> BR/>如果你这样做,你需要参考你的系统Python安装,当
设置你的‘python PATH’。
BR/> RuBiCon桥在Java端开始。导入python对象:

import org.pybee.rubicon.python;



如果(python.start(pythonhome,pythonpath,空)!=0{
system.out.println("初始化python vm时出错");
}


=0){
system.out.println("运行python脚本时出错");
}


然后可以引用Java对象::从RuBiCON.java导入JavaClass:
< BR> >包装Java类
& G.&Gt;URL=JavaClass("Java/NET/URL")
< BR/>α,然后使用Java中公开的API
>实例化Java类。
& Gt;.URL= URL("http://PyBi.org")

>您可以调用Java对象上的方法如果它是一个python对象,那么也可以在python中提供java接口的实现。
>>>>来自rubicon.java import javaclass,java interface

类MyActionListener(ActionListener):
…def actionperformed(self,event):
…打印"button pressed"

>;gt;gt;button.setActionListener(侦听器)


当然,除非在启动Swing图形用户界面等更大的应用程序的上下文中,否则此示例代码将无法工作。

配置shell环境,以便动态链接器可以发现python、java和rubicon
动态库。使用自制的python 2.7.7::

export dyld_library_path=/usr/local/cell/python/2.7.7_2/frameworks/python.framework/versions/2.7/lib/:`/usr/libexec/java_home`/jre/lib/server:./dist

2。构建库:

$make clean
$make all

>3。运行测试套件:

$java org.pybee.rubicon.test.test


这是一个python测试套件,通过java调用。

……文件
…——

…rubicon的完整文档可以在"阅读文档"上找到。

community
----


rubicon是"beeware套件"的一部分。你可以通过:

*`@pybeeware on twitter`

*gitter上的"pybee/general"频道与社区交流。


我们培养了一个欢迎和尊重的社区,如我们的
《Beeware社区行为准则》所述。

如果你愿意的话遇到此后端的问题,请将其"登录到github"。如果您想贡献代码,请使用"fork the code"和"submit a pull request"。


+pip和setuptools

*http://pypi.python.org/pypi/pip
*http://pypi.python.org/pypi/setuptools

-m jt.rubicon.tests


开发
==


./jTypes.rubicon


先决条件:

+开发严格基于*tox*。要安装它,请运行:

python-m pip install tox


license
==

124copyright(c)2016-2018,adam karpierz
_ pypi记录:https://pypi.python.org/pypi/jtypes.rubicon
…_原始网站:https://github.com/pybee/rubicon java
…_开发页面:https://github.com/karpierz/jtypes.rubicon
…_来源:https://github.com/karpierz/jty卢比肯PES公司_ Beeware套件:http://pybee.org
…_ rubicon套件:http://pybee.org/rubicon
…阅读文档:http://RuxICONJava.Read thord.org
。_@Twitter上的Pybeeware:https://twitter.com/Pybeeware
…_ pybee/general:https://gitter.im/pybee/general
。_ Beeware社区行为准则:http://pybee.org/community/behavior/
。将它们登录到GITHUB:http://GITHUB.COM/PYBE/RuPICONJAVA/发行
。代码叉:http://Github.com/PyBe/Ruimon JavaBR/>。提交请求:http://Github.com/PyBe/Ruimon Java/Puls
CyreloGue= BR/> BR/> 0.1.0A2(2018~11-08)
-B-/----BR/> -更新所需的StudioTooT版本。
-小设置和测试改进。
BR/> 0.1.0A0(2016-11-30)初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java有没有任何安卓开发方法可以在屏幕上找到最大单位?   java中的客户机/服务器:程序在输入第二个文件名时卡住   基于java XML上下文的bean无法执行构造函数注入:未找到默认构造函数   java在应用程序中显示通知或作出反应   java如何使spring boot在多对多关系中创建的id成为主键   java有没有办法用JNI设置DirectByteBuffer内存?   java如何为连接池配置Hibernate、Spring和ApacheDBCP?   使用double而不是int的java循环   java我希望输入不区分大小写   java如何在JEditorPane中显示charset=windows1252的html   在Java中,什么会导致抛出异常FileNotFoundException?   面向对象Java哈希集实现设计   用于打印字母的java For循环   java在测试期间向类构造函数插入特定值   SpringJavaMongoDB类NotFoundException:org。springframework。数据转换收集工厂   java将SOAP XML字符串转换为对象或仅读取其内容   java如何将单个POJO类映射到多个表   java中的数组ArrayIndex越界异常