已解决 我已经使用 anaconda 设置了 conda 环境,使用 python 3.9 和 paho-mqtt 1.6.1。我还测试了适用于其他人的环境,但它不适用于我的系统。其他软件包也可以工作,例如 numpy。
代码在第一行失败
import paho.mqtt.client as mqtt
出现错误ModuleNotFoundError:没有名为 'paho.mqtt' 的模块; “paho”不是一个包
。
有人有解决方案或至少有一些我可以尝试的想法吗?
例如,如果我使用 conda env --create env python=3.9
创建一个新的 conda env,然后尝试运行 import numpy
它显然会运行。然后我执行 pip install numpy
并再次运行它,它就可以工作了。不过,如果我对 import paho.mqtt
执行相同操作,即使在 pip install paho-mqtt
之后它也不起作用。
最佳答案
此错误:
ModuleNotFoundError: No module named 'paho.mqtt'; 'paho' is not a package
如果您将创建的主程序文件命名为 paho.py
并尝试将其作为 python paho.py
或 另一个文件的名称为 paho.py
,位于运行程序的同一文件夹中。 Python 会将你的程序文件视为一个模块,并尝试在其中查找自然不存在的内容。关于Python在哪里寻找模块,请参见sys.path
(引用:“...如果 path[0] 是空字符串,则指示 Python 首先在当前目录中搜索模块...”)。 p>
在这种情况下,重命名您的程序文件,使其名称与导入模块的名称不同。
关于python - 没有名为 'paho.mqtt' 的模块; 'paho' 不是一个包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73799752/