[英]Running a module with relative imports as __main__
我有這樣的文件結構:
- __init__.py
- module.py
+ subpackage
|--- __init__.py
|--- submodule1.py
|--- submodule2.py
|--- etc
為此,我使用了相對導入。 例如,在 submodule1.py 中:
from .submodule2 import MyClass
我遇到的問題是,現在使用相對導入,我無法將 submodule1.py 作為main運行。 如果我嘗試,我會收到此錯誤:
from .module2 import MyClass
ModuleNotFoundError: No module named '__main__.module2'; '__main__' is not a package
我喜歡在我的模塊末尾包含一個if __name__ == "__main__":
在開發過程中進行測試(在某些情況下,模塊甚至可能用作獨立腳本)。
有沒有辦法在這個上“吃我的蛋糕也吃”? 或者將代碼從if __name__ == "__main__":
遷移到單獨的腳本是我最好的選擇嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.