簡體   English   中英

ModuleNotFoundError - 在 Pycharm 智能感知中找到的模塊,但在執行程序時找不到

[英]ModuleNotFoundError - Module found in Pycharm intellisense but not when executing program

使用 PyCharm,我有一個 SMTP 解析器項目,其結構如下:

- SMTP
  - Classes
    - Models
    - Transformers
  - Tests 

Tests我從SMTP.Classes.Transformers引用類,如下所示:

from SMTP.Classes.Transformers.myclass import MyClass

這有效並且我的單元測試運行正常。

但是,我現在添加了一個代理文件myProxy.py

- SMTP
  - Classes
    - Models
    - Transformers
  - Tests 
  - myProxy.py

myProxy.py我嘗試導入我的類,就像上面一樣:

from SMTP.Classes.Transformers.myclass import MyClass

當我from S ,PyCharm 實際上建議使用SMTP ,當我寫出來時,它沒有顯示任何錯誤。 我什至可以使用“運行”按鈕在 PyCharm 中啟動myProxy

但是,當我嘗試從控制台運行myProxy.py時,出現ModuleNotFoundError: No module named 'SMTP'當我從每個受影響的文件中刪除SMTP部分時,我可以從控制台運行它。 它甚至可以在 PyCharm 上運行。 但是,出於某種原因,PyCharm 確實將我的導入強調為錯誤。

這里的錯誤究竟是什么,我該如何解決它以便我在 PyCharm 中沒有錯誤並且可以在 pycharm 和控制台上運行我的程序?

您可以嘗試省略SMTP ,而是簡單地將Classes標記為 PyCharm 中的源根,方法是:右鍵單擊Classes目錄 > 將目錄標記為 > 源根。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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