以root身份运行paho mqtt时发生导入错误(sudo python3 filename.py)

问题描述 投票:0回答:1

我将设置Raspberry Pi 3+ Model A作为openHAB2的客户端。在这里,我在Pi和WS2812b(别名Neopixel)上连接了一个传感器。

现在,我用Python编写了(我的第一个脚本),以通过paho mqtt向代理发布传感器数据(Bosch BMP280)。 当我使用“ python3 filename.py”启动Python文件时,此功能可以按需工作...

如果我想使用相同文件,则会出现以下错误消息:“ 追踪(最近一次通话):在第15行的文件“ mqtt_client.py”将paho.mqtt.client导入为mqttModuleNotFoundError:没有名为“ paho”的模块“。

但是,我想扩展脚本以使用WS2812b。要控制WS2812b,必须以root特权启动脚本。所以我不明白为什么在运行“ sudo”时不再知道paho-mqtt ...

有人对此有解决方案吗?非常感谢!

python-3.x mqtt root sudo paho
1个回答
0
投票

这是因为当您使用sudo运行脚本时,它不是从安装了paho的环境中运行python。这很可能是由于您sudo的PYTHONPATH错误。

要解决此问题:

  • 将默认的python路径添加到/ etc / sudoers中
  • 以sudo / path / to / correct / python script.py运行脚本
© www.soinside.com 2019 - 2024. All rights reserved.