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