是否可以創建一個python模塊,根據需要懶惰地下載和安裝子模塊?我曾與"subclassed" modules that mimic real modules合作過,但我從來沒有試過這樣做下載涉及。有沒有一個保證的目錄,我可以下載源代碼和數據,然後該模塊可以在後續運行中使用?懶惰下載/安裝python子模塊
爲了使這更具體,這裏是理想的行爲:
- 用戶運行
pip install magic_module
和輕量級magic_module
安裝到他們的系統。 - 用戶運行該代碼
import magic_module.alpha
- 的代碼都到了預定的URL,被告知有一個「
alpha
」子包,並隨後給出的alpha.py
和alpha.csv
文件的URL。 - 系統將這些文件下載到某處,它知道它的某處,然後加載
alpha
模塊。 - 在後續運行中,用戶可以利用下載的文件跳過服務器故障。
- 在某個時刻,用戶可以從命令行運行
import magic_module.alpha ; alpha._upgrade()
函數來清除緩存並獲取最新版本。
這可能嗎?這是否合理?使用權限會遇到什麼樣的問題?