Я запускаю программу на языке python Diagnics.py из класса Java, который называется PyInterpreter, который инициализирует объект PythonInterpreter jython и файл для использования и может запускать методы из этой программы Python.Моя программа на Python выглядит так:
import datetime
import psutil
class HeartbeatGenerator:
...
, и когда я пытаюсь запустить эту программу, я получаю сообщение об ошибке:
Exception in thread "main" Traceback (most recent call last):
File "../../../eclipse-workspace/Diagnostics/diagnostics.py", line 2, in <module>
import datetime
ImportError: No module named datetime
Я установил datetime и psutil с pip, и онив /usr/local/bin/python3.7/site-packages, а также /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages.Я также скопировал и вставил необходимые файлы из этого места в мой jython.2.5.3 / lib / site-packages, и в своем файле PyInterpreter я попытался установить системные свойства для python.home и python.path, как показано:
public PyInterpreter()
{
Properties props = System.getProperties();
props.setProperty("python.home", "/usr/local/lib/python3.7");
props.setProperty("python.path", "/usr/local/lib/python3.7/site-packages");
System.out.print(props);
PythonInterpreter.initialize(System.getProperties(),
props,
new String[0]);
this.interpreter = new PythonInterpreter();
}
но независимо от того, на что я установил свойства sys, я все равно получаю ту же ошибку.Прямо сейчас это только строка для импорта datetime, но я знаю, что если бы я сначала набрал import psutil
, он бы тоже сломался.Есть идеи?