#java #python #jython
#java #python #jython
Вопрос:
Я пытаюсь использовать java для запуска функции python через jython.jar . Я использую модуль python, загруженный из Интернета, для которого требуется python 2.6 или выше. Я почти уверен, что мой python версии 2.7.2. Однако, когда я пытаюсь запустить программу Java, она продолжает сообщать об обнаружении python 2.5. Как я могу это решить?
Мой код:
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
...
//cmd
String command = ""xml\" name2 """;
PythonInterpreter python = new PythonInterpreter(null, new PySystemState());
PySystemState sys = Py.getSystemState();
sys.path.append(new PyString("C:\Python27\Lib\site-packages"));
python.execfile("work1.py");
}
}
}
}
И ошибка:
Exception in thread "main" Traceback (most recent call last): File "work1.py", line 8, in <module>
import networkx as nx File "C:Python27Libsite-packagesnetworkx__init__.py", line 39, in <module>
raise ImportError(m % sys.version_info[:2]) ImportError: Python version 2.6 or later is required for NetworkX (2.5 detected). Java Result: 1
Комментарии:
1. Пробовали ли вы очевидное, а именно, загрузить последнюю версию Jython и заменить свой jython.jar ? Похоже, у вас более старая версия Jython.
Ответ №1:
Вам нужно использовать Jython 2.7b3, бета-версия 2.7 добавляет языковую совместимость с CPython 2.7 … http://comments.gmane.org/gmane.comp.lang.jython.devel/6145
2.7 beta 4 выйдет в июле, и после этого функция зависнет. Я предлагаю вам присоединиться к списку рассылки python-dev, чтобы быть в курсе новых выпусков. Надеюсь, это поможет
Комментарии:
1. aissacf верен. jython — это альтернативная реализация Python. Он не использует версию Python, установленную на компьютере. aka. CPython. т.е. jython. jar — ЭТО python. Вам нужна правильная версия.