簡體   English   中英

通過 pip 安裝包,但 ModuleNotFoundError

[英]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.mqttimport 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.pytest.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM