sudo python3 त्रुटि उत्पन्न करता है लेकिन python3 नहीं करता है

Aug 16 2020

मुझे समझ नहीं आता है कि "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)

जवाब

1 mechoption Aug 16 2020 at 22:46

मैं sudo bashsudo के रूप में कमांड दर्ज करता python3 temphumlogger2.pyथा और पाया कि इसमें समान त्रुटि थी। इस sudo bash विंडो के भीतर मैंने सभी मॉड्यूल को फिर से स्थापित करने के लिए सर्किटपाइथन निर्देशों का पालन ​​किया । उसके बाद temphumlogger.py अब sudoमेरे साथ pi के रूप में लॉग इन और उसके बिना चलता है ।

टिप्पणियों के अनुसार मुझे लगता है कि मैंने sudo के बजाय उपयोगकर्ता के रूप में चीजें स्थापित की हैं।