【问题标题】:Installed package via pip, but ModuleNotFoundError通过 pip 安装包,但 ModuleNotFoundError
【发布时间】:2019-12-30 20:03:31
【问题描述】:

好的,所以我在 Windows 机器上,想使用 paho-mqtt 包。下载了官方的Python 3安装器msi文件,安装了python 3,我不记得之前有安装过python。

>python --version
Python 3.8.1

接下来,通过pip 安装paho-mqtt

>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 获得了安装目录,paho 目录在那里并包含 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,都会出现错误消息。

【问题讨论】:

    标签: python pip paho


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      您的脚本 C:\mqt\paho.py 在运行时被 Python 导入系统用作 一个模块 paho 所以 import paho 有效,但 import paho.mqtt 不能,因为 Python 考虑了 paho.py作为一个模块,而不是一个包。

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

      【讨论】:

        【解决方案3】:

        当您运行 pip 时,您可能不会调用相同的 python

        您可以通过运行以下命令来保证您在正确的 Python 3.8.1 实例中运行 pip:

        python -m pip install paho-mqtt

        这对你有帮助吗?

        【讨论】:

        • 谢谢,但我收到了Requirement already satisfied: paho-mqtt in c:\users\...
        【解决方案4】:

        你必须提到Python的版本,当普通pip不起作用时。

        使用sudo pip3 install paho-mqtt安装

        【讨论】:

          猜你喜欢
          • 2018-01-10
          • 2020-09-14
          • 1970-01-01
          • 2022-08-21
          • 1970-01-01
          • 2017-02-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多