[英]Prefect ModuleNotFoundError when running from UI
我正在關注 Prefect 教程, 網址為: https : //docs.prefect.io/core/tutorial/01-etl-before-prefect.html 。 代碼可以從git下載: https : //github.com/PrefectHQ/prefect/tree/master/examples/tutorial
這些教程依賴於飛機庫,它是教程下的一個目錄。 我可以通過終端執行流程:
python 02_etl_...
它完美地執行!
我創建了一個項目,並將 Flow 添加到該項目中。 通過 Prefect Server UI,我可以運行 Flow,但它失敗並顯示錯誤消息:
狀態消息:無法加載和執行 Flow 的環境:ModuleNotFoundError("No module named 'aircraftlib'")
在通過 Prefect Server UI 執行 Flows 時,我應該如何處理依賴關系?
這部分取決於您使用的 Flow Storage 和 Agent 的類型。 由於您使用的是 Prefect Server,我假設您使用的是本地存儲 + 本地代理; 在這種情況下,您需要確保aircraftlib
目錄位於本地可導入的 Python PATH 中。 有幾種方法可以做到這一點:
tutorial
目錄中運行您的 Prefect Agent; 您的本地代理的路徑將被它提交的流繼承tutorial/
目錄添加到您的全局 python 路徑(我不推薦這樣做)-p
CLI 標志將tutorial/
目錄添加到您的代理的路徑中; 例如: prefect agent start -p ~/Developer/prefect/examples/tutorial
(這是我推薦的方法)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.