Jython与Python的整合
我有一个用Python写的控制台应用程序,但我不太喜欢Python的图形用户界面(GUI)库。所以我想用Java来做图形界面,而用Python来处理应用程序的核心部分。Jython文档里有很多细节需要阅读。我需要一个简单的方法来连接用Java编写的图形界面和用Python编写的核心部分。你有什么建议吗?谢谢!
3 个回答
0
这里有几种选择,比如之前提到的Jython,当然还有另一个选择是使用JEPP。你可以看看这个例子,了解一下jepp : java嵌入式python。
我得同意其他人的看法,Jython是最简单的解决方案。例如:
PythonInterpreter interp = new PythonInterpreter();
interp.execfile("Filename.py");
就这些!祝你好运!
1
Jython基本上就是Python,只不过有些核心库和大部分第三方库需要做一些修改,改成用相应的Java包或类来替代它们。
4
你可以先列出控制台版 CPython 应用程序中的所有功能和模块,看看它们是否能在 Jython 下运行。正如 Ignacio 提到的,并不是所有的第三方库都已经移植到 Jython 上。
你还需要了解 AWT 或 Swing 开发,才能在 Jython 中构建图形用户界面(GUI)。不过,把图形界面的代码和控制台功能分开其实并不难。
一个好处是,整个应用程序可以打包成一个单独的 JAR 文件,里面包含 Jython 解释器的启动代码,唯一的依赖就是 Jython 的独立 JAR 文件,这样应用程序就可以在用户安装的 JRE 环境中运行。
我不知道有多少人这样做,但我通常会把 Jython 的独立 JAR 文件复制到 JRE/lib/ext 或 JDK/jre/lib/ext 目录,具体看环境而定。
这个 Jython Wiki 页面对部署选项有很好的解释。