sudo python3 genera un error pero python3 no
No entiendo por qué "sudo python3 temphumlogger2.py" desencadena un error de módulo, mientras que "python3 temphumlogger2.py" no se ejecuta ningún problema. Salidas a continuación y código debajo de eso. Quiero que el código se ejecute automáticamente al inicio y necesito usar sudo para hacerlo. He intentado reinstalar varios paquetes pero no puedo entender por qué sudo causa un error y sin él no.
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)
Respuestas
Solía sudo bash
ingresar comandos como sudo y encontré que python3 temphumlogger2.py
tenía el mismo error. Dentro de esta ventana de sudo bash, seguí las instrucciones de CircuitPython aquí para instalar todos los módulos nuevamente. Después de eso, temphumlogger.py ahora se ejecuta con y sin sudo
cuando inicio sesión como pi.
Según los comentarios, creo que instalé cosas como usuario en lugar de sudo.