[英]Installed package via pip, but ModuleNotFoundError
好的,所以我在 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.mqtt
或import paho.mqtt.client as mqtt
。 对于以后的导入,无论我是安装还是卸载 paho-mqqt,都会出现错误消息。
如果您将源文件命名为 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
。
运行pip
时,您可能不会调用同一个python
。
您可以通过运行以下命令来保证您在正确的 Python 3.8.1 实例中运行 pip:
python -m pip install paho-mqtt
这对你有帮助吗?
当正常的pip
不起作用时,您必须提及 Python 的版本。
使用sudo pip3 install paho-mqtt
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.