Jython与JyNI扩展在不同Linux环境下的编译与应用探索

下载需积分: 13 | DOCX格式 | 66KB | 更新于2024-07-24 | 78 浏览量 | 1 下载量 举报
1 收藏
"这篇文档主要讨论了如何在不同的操作系统环境下,使用Jython、JyNI以及CPython进行交互,特别是涉及到在LinuxMint Debian Edition 13 (32位)、Ubuntu 13.10 (64位)以及PowerLinux (Red Hat)上配置和运行JyNI alpha版本,并解决遇到的问题。" 在集成Jython,JyNI和CPython扩展时,开发者可能遇到一些挑战。Jython是一种Python解释器,它允许Python代码在Java平台上运行。JyNI(Java to Python Interface)则提供了一个桥梁,使得Jython能够调用用C语言编写的Python扩展模块,从而扩展Jython的功能。这个过程在不同的操作系统和Java环境中可能会有所不同。 在LinuxMint Debian Edition 13 (32位)上,使用Sun JDK 1.7和Python 2.7.3,尝试编译JyNI.alpha.2时遇到了系统库不兼容的问题。官方提供的`jyni-loader.sojyni.sojyni.jar`在该环境中无法正常工作。这可能是因为系统库版本与JyNI要求的版本不匹配,或者是JyNI自身的兼容性问题。 而在Ubuntu 13.10 (64位)系统中,使用OpenJDK 1.7和Python 2.7.3,成功编译了JyNI.src并生成了`jyni-loader.sojyni.sojyni.jar`以及`DemoExtension.so`。通过Jython和JyNI,可以调用`DemoExtension`,并且得到了与CPython相同的结果。这表明在64位Ubuntu环境下,JyNI和C扩展的集成是成功的。 在PowerLinux (Red Hat)上,使用IBM Java 7和相同的Python及Jython版本,虽然能够成功编译JyNI,但在执行阶段遇到了问题。首先,IBM的Java不支持`classpath`中添加`.so`文件,这导致Jython解析器无法正常启动。其次,使用`javaembedcallJyNI`虽然可以执行,但`JyNIDateTime`模块存在异常,可能因为额外的网址信息或者其他程序错误。 在进行JyNI的编译时,确保有以下组件是必要的: 1. Python-dev 2.7:提供Python的头文件和开发库,用于编译C扩展。 2. JyNI alpha 2:这是要集成的特定版本。 3. JDK:Java开发工具包,用于编译和运行Java代码。 4. GCC:GNU Compiler Collection,用于编译C/C++代码。 在不同平台上的实验结果表明,JyNI的兼容性和稳定性可能因环境而异,尤其是在处理C扩展时。对于开发者来说,理解这些差异并适配不同的系统环境是成功集成的关键。同时,解决特定Java版本和库的兼容性问题也是部署JyNI时不可忽视的环节。
身份认证 购VIP最低享 7 折!
30元优惠券

相关推荐

filetype
jython各个版本下载地址 版本列表 --------------------------------------------- 2.2/ 19-Oct-2009 07:57 jython-2.2-sources.jar 24-Aug-2007 10:23 682810 jython-2.2-sources.jar.md5 24-Aug-2007 10:23 128 jython-2.2-sources.jar.sha1 24-Aug-2007 10:23 136 jython-2.2.jar 24-Aug-2007 10:23 1203711 jython-2.2.jar.md5 24-Aug-2007 10:23 120 jython-2.2.jar.sha1 24-Aug-2007 10:23 128 jython-2.2.pom 24-Aug-2007 10:23 993 jython-2.2.pom.md5 24-Aug-2007 10:23 120 jython-2.2.pom.sha1 24-Aug-2007 10:23 128 2.2-beta1/ 19-Oct-2009 07:57 jython-2.2-beta1-sources.jar 06-Apr-2007 19:36 669042 jython-2.2-beta1-sources.jar.md5 06-Apr-2007 19:36 140 jython-2.2-beta1-sources.jar.sha1 06-Apr-2007 19:36 148 jython-2.2-beta1.jar 06-Apr-2007 19:36 1161993 jython-2.2-beta1.jar.md5 06-Apr-2007 19:36 132 jython-2.2-beta1.jar.sha1 06-Apr-2007 19:36 140 jython-2.2-beta1.pom 06-Apr-2007 19:36 1000 jython-2.2-beta1.pom.md5 06-Apr-2007 19:36 132 jython-2.2-beta1.pom.sha1 06-Apr-2007 19:36 140 maven-metadata.xml 06-Apr-2007 21:40 174 maven-metadata.xml.md5 06-Apr-2007 21:40 130 maven-metadata.xml.sha1 06-Apr-2007 21:40 138 2.2-beta2/ 19-Oct-2009 07:57 jython-2.2-beta2-sources.jar 12-May-2007 20:08 680973 jython-2.2-beta2-sources.jar.md5 12-May-2007 20:08 140 jython-2.2-beta2-sources.jar.sha1 12-May-2007 20:08 148 jython-2.2-beta2.jar 12-May-2007 20:08 1204367 jython-2.2-beta2.jar.md5 12-May-2007 20:08 132 jython-2.2-beta2.jar.sha1 12-May-2007 20:08 140 jython-2.2-beta2.pom 12-May-2007 20:08 999 jython-2.2-beta2.pom.md5 12-May-2007 20:08 132 jython-2.2-beta2.pom.sha1 12-May-2007 20:08 140 maven-metadata.xml 12-May-2007 21:35 174 maven-metadata.xml.md5 12-May-2007 21:35 130 maven-metadata.xml.sha1 12-May-2007 21:35 138 2.2-rc1/ 19-Oct-2009 07:57 jython-2.2-rc1-sources.jar 26-Jun-2007 20:12 682198 jython-2.2-rc1-sources.jar.md5 26-Jun-2007 20:12 136 jython-2.2-rc1-sources.jar.sha1 26-Jun-2007 20:12 144 jython-2.2-rc1.jar 26-Jun-2007 20:12 1203133 jython-2.2-rc1.jar.md5 26-Jun-2007 20:12 128 jython-2.2-rc1.jar.sha1 26-Jun-2007 20:12 136 jython-2.2-rc1.pom 26-Jun-2007 20:12 997 jython-2.2-rc1.pom.md5 26-Jun-2007 20:12 128 jython-2.2-rc1.pom.sha1 26-Jun-2007 20:12 136 maven-metadata.xml 27-Jun-2007 06:14 172 maven-metadata.xml.md5 27-Jun-2007 06:14 128 maven-metadata.xml.sha1 27-Jun-2007 06:14 136 2.2-rc3/ 19-Oct-2009 07:57 jython-2.2-rc3-sources.jar 11-Aug-2007 10:38 682816 jython-2.2-rc3-sources.jar.md5 11-Aug-2007 10:38 136 jython-2.2-rc3-sources.jar.sha1 11-Aug-2007 10:38 144 jython-2.2-rc3.jar 11-Aug-2007 10:38 1203716 jython-2.2-rc3.jar.md5 11-Aug-2007 10:38 128 jython-2.2-rc3.jar.sha1 11-Aug-2007 10:38 136 jython-2.2-rc3.pom 11-Aug-2007 10:38 997 jython-2.2-rc3.pom.md5 11-Aug-2007 10:38 128 jython-2.2-rc3.pom.sha1 11-Aug-2007 10:38 136 2.2.1/ 19-Oct-2009 07:57 jython-2.2.1-sources.jar 16-Oct-2007 17:01 684069 jython-2.2.1-sources.jar.md5 16-Oct-2007 17:01 132 jython-2.2.1-sources.jar.sha1 16-Oct-2007 17:01 140 jython-2.2.1.jar 16-Oct-2007 17:01 1204803 jython-2.2.1.jar.md5 16-Oct-2007 17:01 124 jython-2.2.1.jar.sha1 16-Oct-2007 17:01 132 jython-2.2.1.pom 16-Oct-2007 17:01 995 jython-2.2.1.pom.md5 16-Oct-2007 17:01 124 jython-2.2.1.pom.sha1 16-Oct-2007 17:01 132 2.5.0/ 19-Oct-2009 07:57 jython-2.5.0-sources.jar 14-Jul-2009 03:52 1360133 jython-2.5.0-sources.jar.md5 14-Jul-2009 03:52 132 jython-2.5.0-sources.jar.sha1 14-Jul-2009 03:52 140 jython-2.5.0.jar 14-Jul-2009 03:52 6596518 jython-2.5.0.jar.md5 14-Jul-2009 03:52 124 jython-2.5.0.jar.sha1 14-Jul-2009 03:52 132 jython-2.5.0.pom 14-Jul-2009 03:52 995 jython-2.5.0.pom.md5 14-Jul-2009 03:52 124 jython-2.5.0.pom.sha1 14-Jul-2009 03:52 132 maven-metadata.xml 19-Oct-2009 07:57 519 maven-metadata.xml.md5 19-Oct-2009 07:57 32 maven-metadata.xml.sha1 19-Oct-2009 07:57 40
839 浏览量