sudo python3 tạo ra lỗi nhưng python3 thì không
Tôi không hiểu tại sao "sudo python3 temphumlogger2.py" gây ra lỗi mô-đun, trong khi "python3 temphumlogger2.py" thực thi không có vấn đề gì. Kết quả đầu ra bên dưới và mã bên dưới đó. Tôi muốn mã thực thi tự động khi khởi động và cần sử dụng sudo để làm điều đó. Tôi đã thử cài đặt lại các gói khác nhau nhưng không thể tìm ra lý do tại sao sudo gây ra lỗi và không có thì không?
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)
Trả lời
Tôi đã sử dụng sudo bash
để nhập các lệnh dưới dạng sudo và gặp python3 temphumlogger2.py
lỗi tương tự. Trong cửa sổ sudo bash này, tôi đã làm theo hướng dẫn CircuitPython ở đây để cài đặt lại tất cả các mô-đun. Sau đó temphumlogger.py bây giờ chạy có và không có sudo
khi tôi đăng nhập bằng pi.
Theo nhận xét, tôi nghĩ rằng tôi đã cài đặt mọi thứ với tư cách người dùng thay vì sudo.