sudo python3 त्रुटि उत्पन्न करता है लेकिन python3 नहीं करता है
मुझे समझ नहीं आता है कि "sudo python3 temphumlogger2.py" एक मॉड्यूल त्रुटि को ट्रिगर क्यों करता है, जबकि "python3 temphumlogger2.py" कोई समस्या नहीं निष्पादित करता है। नीचे दिए गए आउटपुट, और नीचे दिए गए कोड। मैं चाहता हूं कि कोड स्टार्टअप पर स्वचालित रूप से निष्पादित हो, और ऐसा करने के लिए sudo का उपयोग करने की आवश्यकता है। मैंने विभिन्न पैकेजों को फिर से स्थापित करने की कोशिश की है लेकिन यह पता नहीं लगा सकता कि सूडो में त्रुटि क्यों होती है और इसके बिना क्या होता है?
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)
जवाब
मैं sudo bash
sudo के रूप में कमांड दर्ज करता python3 temphumlogger2.py
था और पाया कि इसमें समान त्रुटि थी। इस sudo bash विंडो के भीतर मैंने सभी मॉड्यूल को फिर से स्थापित करने के लिए सर्किटपाइथन निर्देशों का पालन किया । उसके बाद temphumlogger.py अब sudo
मेरे साथ pi के रूप में लॉग इन और उसके बिना चलता है ।
टिप्पणियों के अनुसार मुझे लगता है कि मैंने sudo के बजाय उपयोगकर्ता के रूप में चीजें स्थापित की हैं।