通过pip安装了软件包,但是ModuleNotFoundError

时间:2019-12-30 20:03:31

标签: python pip paho

好的,所以我在Windows 8计算机上,想使用paho-mqtt软件包。下载了官方的msi安装程序并安装了python 3,在此之前我不记得有任何python安装。

>python --version
Python 3.8.1

通过pip

安装
>pip install paho-mqtt
Collecting paho-mqtt
  Using cached https://files.pythonhosted.org/packages/59/11/.../paho-mqtt-1.5.0.tar.gz
Installing collected packages: paho-mqtt
    Running setup.py install for paho-mqtt ... done
Successfully installed paho-mqtt-1.5.0

通过pip3尝试了相同的命令,并指出该软件包已安装。

但是当我import paho.mqtt.client as mqtt包裹时,出现以下错误

Traceback (most recent call last):
  File "C:\mqt\paho.py", line 2, in <module>
    import paho.mqtt.client as mqtt
  File "C:\mqt\paho.py", line 2, in <module>
    import paho.mqtt.client as mqtt
ModuleNotFoundError: No module named 'paho.mqtt'; 'paho' is not a package

我已经完成了在线提供的所有解决方案,但是没有机会。

还使用https://stackoverflow.com/a/49028561/2543240获得了安装目录,该目录在那里并且包含py文件。

是否有调试命令可以帮助解决这种情况,以查看python实际在哪里寻找它想要加载的文件而不能这样做?

任何帮助将不胜感激。

修改

import paho不返回错误。但import paho.mqtt导致ModuleNotFoundError: No module named 'paho.mqtt'; 'paho' is not a package

因此,安装和卸载会有所不同,但仅针对import paho而不是import paho.mqttimport paho.mqtt.client as mqtt。对于以后的导入,是否存在安装或卸载paho-mqqt的错误消息。

3 个答案:

答案 0 :(得分:4)

如果您将源文件命名为paho.py,则可能会隐藏paho包。

因此将paho.py重命名为paho2.py应该可以解决问题。

答案 1 :(得分:4)

Python导入系统在运行时将您的脚本C:\mqt\paho.py用作模块 paho,因此import paho有效,而import paho.mqtt无效因为paho.py被Python视为模块而非包。

重命名您的脚本。并且请记住未来的经验:永远不要给脚本命名与现有模块或软件包相同的名称,尤其是标准库中的模块或软件包。例如,始终避免命名脚本email.pytest.py

答案 2 :(得分:0)

当普通的pip无法正常工作时,您必须提到Python的版本。

使用sudo pip3 install paho-mqtt

安装
相关问题