[英]Python import module with package name
我一直在閱讀很多關於這個問題的問題,但仍有一些問題。
首先我想解釋一下我想做什么
我有這個文件系統
Project/
└──main.py
└──transformations/
└──__init__.py
└──translate.py
└──rotate.py
└──scale.py
main.py 是:
import transformations
if __name__ == "__main__":
print("Main:")
transformations.translate.test()
transformations.rotate.test()
transformations.scale.test()
每個 test() 只是在控制台上打印“Hello”。
搜索我能夠以某種方式使其工作,為 __ init__.py 提供以下命令行:
import transformations.translate
import transformations.rotate
import transformations.scale
因此,當我嘗試從 main.py 運行代碼時,代碼按預期執行,但 VSCode 給了我任何自動完成建議,所以我不知道我是否正確地做事。
正如你在這張圖片中看到的那樣。當我寫“轉換”時。 vscode 不會提示我自動完成“翻譯”“旋轉”或“縮放”。 如果我仍然編寫模塊的函數調用,它會按預期運行,但 vscode 不會像使用數學模塊中的 sqrt 那樣將其識別為模塊或函數,如第二張圖所示,它將“sqrt”置於黃色.
因此,基本上,總而言之,代碼可以按我的意願工作,但我不確定我是否正確地做事,因為 vscode 自動完成器和顏色格式化程序沒有檢測到包文件夾中的腳本。
提前致謝!
因為您沒有在__init__.py
文件中將它們作為模塊導入。 您可以使用from ...import...
的形式導入__init__.py
文件。 像下面
from transformations import translate
from transformations import rotate
from transformations import scale
希望這對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.