Можно ли запустить программу на Python в программе Java "GraalVM"? - PullRequest
0 голосов
/ 14 июня 2019

Из примеров GraalVM у них есть такой код для запуска одной строки кода Python:

context.eval("python", "\nprint('Hello polyglot world Python!');");

Да, это прекрасно работает в программе на Java.

Я также могу запустить программу на Python из командной строки, используя программу "graalpython".


Мой вопрос: как мне запустить программу на Python из примера Java, который я упоминал выше?

context.eval("python", "\nprint('Hello polyglot world Python!');");

Я пытался использовать аргумент "file:", но это не сработало, или я делаю что-то не так.

Например, это не сработало:

context.eval("python", "file: /path_to_python/test.py");

Эта строка кода дает мне:

Оригинальная внутренняя ошибка: java.lang.RuntimeException: не реализовано

Так что, может быть, это отвечает на мой вопрос, но я должен верить, что вы можете запустить скрипт на python из программы GRAAL, как и одну строку кода. Отсюда и эта заметка.

-

Поддерживается ли запуск программы на Python из Java-программы с использованием graal "eval"? Если это так, я был бы очень признателен за пример использования.

Большое спасибо.

1 Ответ

2 голосов
/ 14 июня 2019

Вам необходимо создать Source объект для оценки файла:

File file = new File("/path_to_python/test.py");
Source source = Source.newBuilder("python", file).build();
context.eval(source);
...