sudo python3 gera erro, mas python3 não

Aug 16 2020

Não entendo por que "sudo python3 temphumlogger2.py" dispara um erro de módulo, enquanto "python3 temphumlogger2.py" executa sem problemas. Saídas abaixo e código abaixo disso. Quero que o código seja executado automaticamente na inicialização e preciso usar o sudo para fazer isso. Eu tentei reinstalar os vários pacotes, mas não consigo descobrir por que o sudo causa erro e sem isso não causa?

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)

Respostas

1 mechoption Aug 16 2020 at 22:46

Eu costumava sudo bashdigitar comandos como sudo e encontrei o python3 temphumlogger2.pymesmo erro. Dentro desta janela sudo bash, segui as instruções do CircuitPython aqui para instalar todos os módulos novamente. Depois disso, o temphumlogger.py agora é executado com e sem sudoquando eu logar como pi.

De acordo com os comentários, acho que instalei as coisas como usuário em vez de sudo.