簡體   English   中英

ModuleNotFoundError 有一個 Prefect 流程,但不是另一個

[英]ModuleNotFoundError with one Prefect flow, but not the other

交叉發布這個問題: https://github.com/PrefectHQ/prefect/discussions/6868

我有一個使用 Prefect v1.3.1 的最小項目,您可以在這里找到它: https://github.com/b-long/aid 從本機代碼遷移到 dockerized 代碼后,我在正確部署時遇到了一些困難。 我正在使用最新版本的 Prefect v1,需要在遷移到 Prefect 2.x 之前解決這個問題

我正在使用 Poetry,但我很確定這里有一種模式適用於 Hatch、Pipenv、Flit 或其他工具。 在注冊中觀察到這個問題,最后記錄了這個:

ModuleNotFoundError: No module named 'aid'

The command '/bin/sh -c python /opt/prefect/healthcheck.py '["/opt/prefect/flows/basic-pandas-flow.prefect"]' '(3, 10)'' returned a non-zero code: 1
Traceback (most recent call last):
...
ValueError: Your docker image failed to build!  Your flow might have failed one of its deployment health checks - please ensure that all necessary files and dependencies have been included.

如果您是 Prefect Guru,我猜您可以通過閱讀日志文件(參見上面鏈接的討論)並查看我的 Dockerfile 來解決這個問題: https://github.com/b-long/援助/blob/main/Dockerfile.prefect

我直接回答了 GitHub 問題。 讓我們繼續討論,以便更容易在一個地方跟蹤所有內容。

順便說一句,關於 GitHub 問題的精彩文章,非常有幫助!

在這一點上,我不清楚 Prefect 的 docker 集成還是我的numpy用法(在詩歌中聲明)是問題所在。

這個問題目前沒有解決方案,我建議任何有興趣的人關注 Github 上的對話: https://github.com/PrefectHQ/prefect/discussions/6868

看起來你的 package aid是相對於/根文件系統的

COPY README.md aid/ /aid/

我相信如果你使它相對於/aid dir 它將起作用(你的工作目錄是/aid ,所以初始化文件需要在/aid/aid/__init__.py

COPY README.md /aid/
COPY aid/ /aid/aid

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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