Python 无法运行paho mqtt客户端->&引用;ImportError:没有名为paho.mqtt.client的模块;

Python 无法运行paho mqtt客户端->&引用;ImportError:没有名为paho.mqtt.client的模块;,python,mqtt,paho,Python,Mqtt,Paho,我正在尝试设置mqtt客户机,但遇到了一个问题: 我为泛美卫生组织安装了: pip install paho-mqtt 它说:成功安装了dnspython-1.15.0 paho-mqtt-1.3.1 python-etcd-0.4.5 urllib3-1.22 但是当我试图用sudo python listen.py调用我的python脚本时,它会说: File "listen.py", line 6, in <module> import paho.mqtt.client

我正在尝试设置mqtt客户机,但遇到了一个问题:

我为泛美卫生组织安装了:

pip install paho-mqtt
它说:
成功安装了dnspython-1.15.0 paho-mqtt-1.3.1 python-etcd-0.4.5 urllib3-1.22

但是当我试图用
sudo python listen.py
调用我的python脚本时,它会说:

File "listen.py", line 6, in <module>
  import paho.mqtt.client as mqtt
ImportError: No module named paho.mqtt.client
文件“listen.py”,第6行,在
将paho.mqtt.client作为mqtt导入
ImportError:没有名为paho.mqtt.client的模块
当我输入
python--version
时,它会说:
python2.7.13
当我调用
pip freeze
paho时,paho被列出
paho mqtt==1.3.1


有什么问题吗?

问题是库“paho”已安装(默认)在文件夹“/home/pi/.local/lib/python2.7/site packages”中,但“sudo python”在文件夹“/usr/local/lib/python2.7/dist packages”中搜索此库。 我用一个链接解决了这个问题:

cd/usr/lib/python2.7/dist-packages

sudo ln-s/home/pi/.local/lib/python2.7/site-packages/paho


现在,我的脚本也与“sudo”一起运行。

一个快速解决方案是将库安装在特定目录中

cd <directory>
sudo pip install paho-mqtt -t ./
cd
sudopip安装paho mqtt-t/

您能否以普通用户身份运行
python-c“import sys;print sys.path”
并使用
sudo
检查输出是否不同?使用
sudo
它会显示:
['''/usr/lib/python2.7'、'/usr/lib/python2.7/plat arm linux gnueabihf'、'/usr/lib/python2.7/lib tk'、'/usr/lib/python2.7/lib old'、'/usr/lib/python2.7/lib dynload'、'/usr/local/lib/python2.7/dist packages/dist-packages'、'/usr/lib/python2.7/dist-packages/gtk:>[''/usr/lib/python2.7'、'/usr/lib/python2.7/plat arm linux gnueabihf'、'/usr/lib/python2.7/lib tk'、'/usr/lib/python2.7/lib old'、'/usr/lib/python2.7/lib dynload'、'/home/pi/.local/lib/python2.7/site-packages'、'/usr/local/lib/lib/python2.7/dist-packages'、'/usr/lib/python2.7/distk']
这解决了问题。谢谢。当默认安装了
paho
时,应该如何安装它?
sudo pip install paho mqtt
?否,请阅读以下内容: