sudo python3はエラーを生成しますが、python3は生成しません

Aug 16 2020

「sudopython3temphumlogger2.py」がモジュールエラーをトリガーするのに、「python3temphumlogger2.py」が問題なく実行される理由がわかりません。以下の出力、およびその下のコード。起動時にコードを自動的に実行したいので、sudoを使用する必要があります。さまざまなパッケージを再インストールしようとしましたが、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 bashのsudoなどのコマンドを入力し、見つかったpython3 temphumlogger2.py同じエラーが発生しました。このsudobashウィンドウ内で、ここのCircuitPythonの指示に従って、すべてのモジュールを再度インストールしました。その後、temphumlogger.pysudoは、piとしてログインしたときに実行されるようになりました。

コメントによると、sudoではなくユーザーとしてインストールしたと思います。