簡體   English   中英

從 UI 運行時,Prefect ModuleNotFoundError

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM