#java #python #processbuilder
Вопрос:
У меня есть скрипт на python, который считывает температуру с датчика DHT22. Сценарий действительно прост
import time
import sys
import board
import adafruit_dht
pin = 17
dhtDevice = adafruit_dht.DHT22(pin)
temperature_c = dhtDevice.temperature
print(temperature_c)
Если я запущу его так, как python3 dht.py
я правильно вижу температуру.
Мне нужно вызвать его из Java-приложения
public String readSingleRegister(Map<String, Object> params) {
ProcessBuilder pb = new ProcessBuilder("/usr/bin/python3", "/home/pi/scripts/dht.py");
pb.redirectErrorStream(true);
return getProcessResult(pb);
}
Но когда я запускаю его, я получаю эту ошибку
Traceback (most recent call last):
File "/home/pi/scripts/dht.py", line 8, in <module>
import adafruit_dht
ModuleNotFoundError: No module named 'adafruit_dht'
Поэтому я попытался добавить путь к adafruit_dht.py в скрипте python, как это
import time
import sys
sys.path.append('/usr/local/lib/python3.7/dist-packages/Adafruit_DHT-1.4.0-py3.7-linux-armv7l.egg/')
import board
import adafruit_dht
но получил ту же ошибку…
В чем проблема?
Спасибо