sudo python3 menghasilkan kesalahan tetapi python3 tidak
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
Saya biasa sudo bash
memasukkan perintah sebagai sudo dan menemukan python3 temphumlogger2.py
kesalahan 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 sudo
ketika saya masuk sebagai pi.
Sesuai komentar saya pikir saya menginstal sesuatu sebagai pengguna daripada sudo.