【问题标题】:No module named 'paho.mqtt'; 'paho' is not a package没有名为 \'paho.mqtt\' 的模块; \'paho\' 不是一个包
【发布时间】:2022-10-21 00:36:59
【问题描述】:

解决 我已经用 anaconda 建立了一个 conda 环境,带有 python 3.9 和 paho-mqtt 1.6.1。我还测试了一个对其他人有用但在我的系统上不起作用的环境。其他包也可以工作,比如 numpy。

代码在第一行失败 import paho.mqtt.client as mqtt 机智错误ModuleNotFoundError: No module named 'paho.mqtt'; 'paho' is not a package

有没有人有解决方案或至少有一些我可以尝试的想法?

例如,如果我使用conda env --create env python=3.9 创建一个新的 conda env,然后尝试运行import numpy,它显然不会运行。然后我做pip install numpy 并再次运行它,它就可以工作了。虽然如果我对import paho.mqtt 做同样的事情,即使在pip install paho-mqtt 之后它也不起作用。

【问题讨论】:

  • 这回答了你的问题了吗? Import Error: paho.mqtt.client not found
  • 不,我已经尝试了所有不同的安装方法。奇怪的是我让它在我的第一个环境中工作。但是现在我需要为不同的项目设置一个新的,但它不起作用。
  • 因为您必须再次安装它,所以您退出了您的虚拟环境,因此该软件包不再可用
  • 我确实在新环境中再次安装了它。
  • 你有一个名为paho.py 的脚本吗?

标签: python paho


【解决方案1】:

这个错误:

ModuleNotFoundError: No module named 'paho.mqtt'; 'paho' is not a package

如果您将创建的主程序文件命名为paho.py 并尝试以python paho.py 运行它,也可能会发生这种情况或者另一个文件的名称为paho.py,位于您运行程序的同一文件夹中。 Python 会将您的程序文件视为一个模块,并尝试在其中找到自然不在其中的内容。关于 Python 在哪里寻找模块,请参阅 sys.path

在这种情况下,重命名您的程序文件,使其名称不等于导入模块的名称.

【讨论】:

    猜你喜欢
    • 2017-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-09
    • 2020-12-06
    • 2019-07-07
    • 2023-03-21
    • 2020-12-27
    相关资源
    最近更新 更多