通过 pip 安装包,但 ModuleNotFoundError
Installed package via pip, but ModuleNotFoundError
好的,所以我在 windows 机器上,想使用 paho-mqtt 包。下载了官方的Python3 installer msi文件,安装了python3,我不记得之前有没有安装过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
我已经完成了在线提供的所有解决方案,但没有机会。
还使用 获得了安装目录 paho
目录在那里并且包含 py 文件。
是否有任何调试命令可以帮助解决这种情况,看看 python 实际在哪里寻找它想要加载但不能加载的文件?
如有任何帮助,我们将不胜感激。
编辑
干脆import paho
returns没有错误。但是 import paho.mqtt
导致
ModuleNotFoundError: No module named 'paho.mqtt'; 'paho' is not a package
所以安装和卸载会有所不同,但仅针对 import paho
而不是 import paho.mqtt
或 import paho.mqtt.client as mqtt
。对于以后的导入,无论我安装还是卸载 paho-mqqt,都会出现错误消息。
当您 运行 pip
时,您可能不会调用相同的 python
。
您可以通过 运行ning:
保证您在正确的 Python 3.8.1 实例中 运行ning pip
python -m pip install paho-mqtt
这对你有帮助吗?
如果您将源文件命名为 paho.py,它可能会隐藏 paho 包。
所以将 paho.py 重命名为 paho2.py 应该可以解决问题。
您的脚本 C:\mqt\paho.py
当 运行 被 Python 导入系统用作 模块 paho
所以 import paho
有效,但 import paho.mqtt
无效,因为 paho.py
被 Python 视为模块,而不是包。
重命名您的脚本。并且请记住未来的经验:永远不要给您的脚本起与现有模块或包相同的名称,尤其是标准库中的模块或包。例如,始终避免将脚本命名为 email.py
或 test.py
.
你必须提到 Python 的版本,当正常 pip
不起作用时。
使用sudo pip3 install paho-mqtt
安装
好的,所以我在 windows 机器上,想使用 paho-mqtt 包。下载了官方的Python3 installer msi文件,安装了python3,我不记得之前有没有安装过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
我已经完成了在线提供的所有解决方案,但没有机会。
还使用 paho
目录在那里并且包含 py 文件。
是否有任何调试命令可以帮助解决这种情况,看看 python 实际在哪里寻找它想要加载但不能加载的文件?
如有任何帮助,我们将不胜感激。
编辑
干脆import paho
returns没有错误。但是 import paho.mqtt
导致
ModuleNotFoundError: No module named 'paho.mqtt'; 'paho' is not a package
所以安装和卸载会有所不同,但仅针对 import paho
而不是 import paho.mqtt
或 import paho.mqtt.client as mqtt
。对于以后的导入,无论我安装还是卸载 paho-mqqt,都会出现错误消息。
当您 运行 pip
时,您可能不会调用相同的 python
。
您可以通过 运行ning:
保证您在正确的 Python 3.8.1 实例中 运行ning pippython -m pip install paho-mqtt
这对你有帮助吗?
如果您将源文件命名为 paho.py,它可能会隐藏 paho 包。
所以将 paho.py 重命名为 paho2.py 应该可以解决问题。
您的脚本 C:\mqt\paho.py
当 运行 被 Python 导入系统用作 模块 paho
所以 import paho
有效,但 import paho.mqtt
无效,因为 paho.py
被 Python 视为模块,而不是包。
重命名您的脚本。并且请记住未来的经验:永远不要给您的脚本起与现有模块或包相同的名称,尤其是标准库中的模块或包。例如,始终避免将脚本命名为 email.py
或 test.py
.
你必须提到 Python 的版本,当正常 pip
不起作用时。
使用sudo pip3 install paho-mqtt