Интеграция Jython и Python - PullRequest
       20

Интеграция Jython и Python

2 голосов
/ 10 сентября 2010

У меня есть приложение Python, которое работает как консольное приложение. Мне не понравились библиотеки Python GUI. Вот почему я хочу использовать Java для GUI и python для ядра приложения. В документации Jython есть много подробностей. Мне нужен простой способ подключения GUI, запрограммированного на Java, и ядра, запрограммированного на Python. Каковы ваши предложения? Заранее спасибо.

Ответы [ 3 ]

3 голосов
/ 13 сентября 2010

Сначала вы можете попробовать провести инвентаризацию всех функций / модулей в консольном приложении CPython и выяснить, могут ли они быть запущены под Jython.Как упомянул Игнасио, не все сторонние библиотеки будут перенесены в Jython.

Вам также понадобится ознакомиться с AWT или Swing-разработкой, чтобы построить графический интерфейс в Jython.Тем не менее, не должно быть слишком сложно отделить графический код от функций консоли.

Одно преимущество состоит в том, что все приложение может быть объединено в один файл JAR вместе с кодом начальной загрузки интерпретатора Jython и единственнымзависимостью будет автономный JAR-файл Jython, и приложение может быть запущено с установленной пользователем средой JRE.

Я не знаю, сколько людей делают это, но обычно я копирую автономный JAR-файл Jython в JREКаталог / lib / ext или JDK / jre / lib / ext в зависимости от среды.

Эта запись Jython Wiki содержит подробное описание вариантов развертывания.

1 голос
/ 10 сентября 2010

Jython уже в основном Python; только код, который использует некоторые базовые библиотеки и большинство сторонних библиотек, должен быть изменен, вместо них должны использоваться соответствующие пакеты Java или классы.

0 голосов
/ 22 января 2014

Есть несколько вариантов, таких как уже упомянутый jython, и, конечно, другой - использовать JEPP.Смотрите пример с jepp: Java Java Python .Я должен согласиться с остальными, Jython - самое простое решение.Например:

PythonInterpreter interp = new PythonInterpreter();
interp.execfile("Filename.py");

Вот и все!Удачи!

...