我无法配置已经存在的django项目。该项目由fabric
处理,并使用命令安装了所有软件包,并且在代码中出现“ ImportError: cannot import name Celery
”错误,在此image中显示。
目录结构如下:
- proj/
- manage.py
- fabfile.py
- proj/
- __init__.py
- celery.py
- settings.py
- urls.py
celery.py
import os
from celery import Celery
from django.conf import settings
from dotenv import load_dotenv
load_dotenv(os.path.join(os.path.dirname(os.path.dirname(__file__)), '.env'))
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings.development')
app = Celery('electric_soul')
app.config_from_object('django.conf:settings')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
@app.task(bind=True)
def debug_task(self):
print('Request: {0!r}'.format(self.request))
ini .py 文件为:
# -*- coding: utf-8 -*-
__version__ = '1.0.1-dev'
__version_info__ = tuple([int(num) if num.isdigit() else num for num in __version__.replace('-', '.', 1).split('.')])
from .celery import app as celery_app # noqa
尝试:
我已经更改了celery.py的名称
我在 ini .py 和 celery.py 的第一行添加了from __future__ import absolute_import, unicode_literals
。