Jython与Python的整合

2 投票
3 回答
1496 浏览
提问于 2025-04-16 03:58

我有一个用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 页面对部署选项有很好的解释。

撰写回答