我将设置Raspberry Pi 3+ Model A作为openHAB2
的客户端。在这里,我在Pi上连接了一个传感器,并与WS2812b
(别名为Neopixel
)相连。
现在,我用Python编写了(我的第一个脚本),以通过paho mqtt将传感器数据(博世BMP280)发布到代理。 当我使用“ python3 filename.py”启动Python文件时,此方法可以按需运行...
如果我要使用"sudo python3 filename.py"
启动相同文件,则会显示以下错误消息:
Traceback (most recent call last):
File "mqtt_client.py", line 15, in <module>
import paho.mqtt.client as mqtt
ModuleNotFoundError: No module named 'paho'
但是,我想扩展脚本以使用WS2812b。要控制WS2812b,该脚本必须以 root特权启动。所以我不明白为什么在运行“ sudo”时不再知道paho-mqtt ...
有人对此有解决方案吗?非常感谢!
答案 0 :(得分:0)
使用sudo python3 filename.py
运行脚本时,它所使用的python环境与您用来安装Paho的环境不同。
要解决此问题,您可以:
Defaults env_keep += "PYTHONPATH"
添加到您的/etc/sudoers
sudo /path/to/python pythonscript.py