这个问题在这里已有答案:
-
How to access a standard-library module in Python when there is a local module with the same name? 2个答案
这可能与芹菜无关,但这是我的问题:
我的应用程序结构如下:
/app
/__init__.py
/api_1.0/foo.py
/proj
/__init__.py
/celery.py
/tasks.py
所以在celery.py中我创建了一个芹菜应用程序:
flask = create_app(os.getenv('FLASKCONFIG') or None)
celery = Celery(__name__,
broker=flask.config['CELERY_BROKER_URL'],
include=['proj.tasks'])
celery.conf.update(flask.config)
在tasks.py中有芹菜任务列表 . 其中一个是 list_users
在foo.py中我尝试使用该任务:
从proj导入任务
但是当我这样做时,这会导致输入问题:
celery -A proj worker --logleve=info
错误信息:
from proj.celery import celery
ImportError: cannot import name celery
奇怪的是,如果我删除了烧瓶应用程序的创建并简单地创建一个芹菜应用程序,问题就消失了 . 它看起来像一个循环导入问题 . 怎么避免这个?