无法在任务文件中导入芹菜应用程序

2024-05-02 02:52:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下文件夹结构

git_repo_main
   └───my_sub_project
       │   celery_app.py
       │   __init__.py
       │
       ├───calcs
       │   │   math_funcs.py  -> from my_sub_project.celery_app import app
       │   │   __init__.py
       │
       ├───piplines
           │   run_math_pipeline.py -> from my_sub_project.calcs import math_funcs
           │   __init__.py

celery_app.py看起来像这样:

from celery import Celery

app = Celery('my_sub_project',
             broker='amqp://guest@localhost//',
             backend='amqp://guest@localhost//',
             include=['calculations.math_funcs']
             )

我的repo上也有代码

使用以下命令运行芹菜:celery -A celery_app worker -l info -P gevent,我得到以下错误

ModuleNotFoundError: No module named 'my_sub_project'

导入app时发生完全错误stack

解决办法是什么?你知道吗


我已经阅读了naming and imports的文档,但是 包含git_repo_main的导入产生相同的错误,加上它是我的源根,所以它的计数器是大多数IDE的默认导入结构

我还发现了一个类似的question,但是它似乎解决了任务发现的问题,而不是app和任务导入的问题。你知道吗

注意:我没有使用django


Tags: frompyimportgitprojectappinitmain