sudo python3 menghasilkan kesalahan tetapi python3 tidak

Aug 16 2020

Saya tidak mengerti mengapa "sudo python3 temphumlogger2.py" memicu kesalahan modul, sementara "python3 temphumlogger2.py" tidak menjalankan masalah. Output di bawah ini, dan kode di bawah itu. Saya ingin kode dijalankan secara otomatis saat startup, dan perlu menggunakan sudo untuk melakukannya. Saya sudah mencoba menginstal ulang berbagai paket tetapi tidak tahu mengapa sudo menyebabkan kesalahan dan tanpa tidak?

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)

Jawaban

1 mechoption Aug 16 2020 at 22:46

Saya biasa sudo bashmemasukkan perintah sebagai sudo dan menemukan python3 temphumlogger2.pykesalahan yang sama. Di dalam jendela sudo bash ini saya mengikuti instruksi CircuitPython di sini untuk menginstal semua modul lagi. Setelah itu temphumlogger.py sekarang berjalan dengan dan tanpa sudoketika saya masuk sebagai pi.

Sesuai komentar saya pikir saya menginstal sesuatu sebagai pengguna daripada sudo.