Можно ли использовать Python код в java независимо какие библиотеки используются в Python файле?

Пользователь

от muxanapolu2 , в категории: Java , 6 месяцев назад

У меня есть код на Python с использованием библиотеки g4f. Я использую intellij idea для написания кода на java. Там же использую jython чтобы запускать на java код написанный на Python. Но как я понял, Jython не все библиотеки на python поддерживает, поэтому у меня ничего не работает и показывает ошибку "Exception in thread "main" SyntaxError: ("mismatched input '' expecting INDENT", ('src\\main\\java\\org\\example\\GPT.py', 62, 0, 'async def run_provider(provider: g4f.Provider.BaseProvider):\n'))". И вопрос, можно ли как-нибудь сделать, чтобы написанный код на python на любых библиотеках можно было запустить на java? Может есть что-то еще помимо jython?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jaren , 6 месяцев назад

@muxanapolu2 Я не думаю что они полностью 100 процентов будут совместимы и проблема, с которой вы сталкиваетесь, связана с тем, что Jython, который является реализацией Python на Java, не поддерживает все современные функции Python и сторонние библиотеки, такие как g4f. Ваша ошибка "mismatched input '' expecting INDENT" указывает на синтаксическую ошибку в вашем коде Python, которая, вероятно, вызвана несовместимостью синтаксиса Python и Jython.

Пользователь

от dmitrypro77 , 6 месяцев назад

@muxanapolu2 Не очень хороший способ, но можно попробовать использовать что-то вроде exec?


1
2
3
4
5
public class Main {
    public static void main(String[] args) {
        Process p = Runtime.getRuntime().exec("python my_code.py");
    }
}


Всегда открыт для интересных проектов. Ссылки на мои соц. сети в профиле.