sudo python3 generiert einen Fehler, python3 jedoch nicht
Ich verstehe nicht, warum "sudo python3 temphumlogger2.py" einen Modulfehler auslöst, während "python3 temphumlogger2.py" kein Problem ausführt. Ausgaben unten und Code darunter. Ich möchte, dass der Code beim Start automatisch ausgeführt wird, und muss dazu sudo verwenden. Ich habe versucht, die verschiedenen Pakete neu zu installieren, kann aber nicht herausfinden, warum sudo Fehler verursacht und ohne nicht?
pi@raspberrypi:~ $ sudo python3 temphumlogger2.py
Traceback (most recent call last):
File "temphumlogger2.py", line 3, in <module>
import adafruit_dht
ModuleNotFoundError: No module named 'adafruit_dht'
pi@raspberrypi:~ $ python3 temphumlogger2.py
waiting 15 mins
Temp: 73.9 F / 23.3 C Humidity: 48.0%
import time
import board
import adafruit_dht
from datetime import datetime
# Initial the dht device, with data pin connected to:
dhtDevice = adafruit_dht.DHT22(board.D4)
while True:
try:
# Print the values to the serial port
temperature_c = dhtDevice.temperature
temperature_f = temperature_c * (9 / 5) + 32
humidity = dhtDevice.humidity
with open('/home/pi/thdataupstairs.csv', mode='a') as file_:
file_.write("{},{},{}".format(datetime.now(),temperature_c, humidity))
file_.write("\n")
print("waiting 15 mins")
print(
"Temp: {:.1f} F / {:.1f} C Humidity: {}% ".format(
temperature_f, temperature_c, humidity
)
)
time.sleep(10)
except RuntimeError as error:
# Errors happen fairly often, DHT's are hard to read, just keep going
print(error.args[0])
time.sleep(2.5)
Antworten
Ich habe sudo bashBefehle als sudo eingegeben und festgestellt, python3 temphumlogger2.pydass derselbe Fehler aufgetreten ist. In diesem Sudo-Bash-Fenster habe ich die CircuitPython-Anweisungen hier befolgt , um alle Module erneut zu installieren. Danach läuft temphumlogger.py jetzt mit und ohne, sudowenn ich mich als pi anmelde .
Laut Kommentaren habe ich Dinge als Benutzer anstelle von sudo installiert.