无法运行Paho MQTT客户端,报错ImportError: No module named paho.mqtt.client
解决Python 2.7中安装paho-mqtt后仍出现ImportError的问题
这种情况我碰到过好多次,基本都是Python环境路径不匹配导致的——你用pip安装的包可能没落到Python 2.7的默认目录里,咱们一步步排查解决:
先确认pip和Python 2.7的对应关系
很多系统里pip默认关联的是Python 3,而你运行的是Python 2.7。试试用pip2(Python 2专属的包管理器)重新安装,确保包安装到正确的环境:sudo pip2 install paho-mqtt==1.3.1 --force-reinstall--force-reinstall会覆盖已有的安装,避免残留问题。检查包的安装路径是否匹配
先打印出Python 2.7的包安装目录:python -c "import site; print(site.getsitepackages())"然后去输出的目录里找有没有
paho文件夹。如果找不到,说明之前的安装确实落到了其他Python版本的路径里,用上面的pip2重新安装就能解决。试试不用sudo运行脚本
有时候sudo python会加载系统级的Python环境,和你用普通用户pip安装的环境不一致。先尝试直接运行:python listen.py如果是权限问题再考虑用sudo,但优先确保环境一致。
检查脚本里的导入语句
最后确认listen.py里的导入代码是正确的:import paho.mqtt.client as mqtt别写错成
import paho或者import mqtt,必须是完整的包路径,否则会触发ImportError。
内容的提问来源于stack exchange,提问作者sporc




