相关疑难解决方法(0)

Django,ImportError:无法导入名称Celery,可能循环导入?

我在这里看过这个例子:

http://docs.celeryproject.org/en/latest/django/first-steps-with-django.html

我的所有任务都在名为tasks.py的文件中.

更新芹菜并从示例中添加文件django抛出以下错误,无论我尝试什么:

ImportError: cannot import name Celery
Run Code Online (Sandbox Code Playgroud)

问题可能是由以下原因引起的吗?

app.autodiscover_tasks(settings.INSTALLED_APPS, related_name='tasks')
Run Code Online (Sandbox Code Playgroud)

因为它遍历所有具有以下导入的tasks.py文件.

from cloud.celery import app
Run Code Online (Sandbox Code Playgroud)

cloud/celery.py:

from __future__ import absolute_import

import os, sys
from celery import Celery
from celery.schedules import crontab
from django.conf import settings

BROKER_URL = 'redis://:PASSWORD@localhost'

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'cloud.settings')
app = Celery('cloud', broker=BROKER_URL)
app.config_from_object('django.conf:settings')
app.autodiscover_tasks(settings.INSTALLED_APPS, related_name='tasks')

if "test" in sys.argv:
    app.conf.update(
        CELERY_ALWAYS_EAGER=True,
    )
    print >> sys.stderr, 'CELERY_ALWAYS_EAGER = True'

CELERYBEAT_SCHEDULE = {
    'test_rabbit_running': {
        "task": "retail.tasks.test_rabbit_running",
        "schedule": 3600, #every hour
    },
    [..]

app.conf.update(
    CELERYBEAT_SCHEDULE=CELERYBEAT_SCHEDULE
)
Run Code Online (Sandbox Code Playgroud)

retail/tasks.py …

python django importerror celery

41
推荐指数
8
解决办法
4万
查看次数

标签 统计

celery ×1

django ×1

importerror ×1

python ×1