我有以下文件夹结构
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']
)
我的存储库上也有代码
当使用以下命令运行芹菜时:celery -A celery_app worker -l info -P gevent
,我得到了以下错误
ModuleNotFoundError: No module named 'my_sub_project'
用于app
导入的全错误app
什么是解决办法?
我已经阅读了命名和导入的文档,但是将导入更改为包含git_repo_main
会产生相同的错误,而且它是我的源根,因此它与大多数IDE的默认导入结构相反。
我还发现了一个类似的问题,但是它似乎解决了一个任务发现问题,而不是app
和任务导入问题。
注意事项:我没有使用django
发布于 2019-10-17 08:49:05
使用指定的PYTHONPATH在git_repo_main
目录中运行芹菜工人。类似于:PYTHONPATH=. celery -A celery_app.app worker -l info -P gevent
https://stackoverflow.com/questions/58432056
复制