首页 > 解决方案 > 芹菜版本兼容性问题

问题描述

我无法配置已经存在的 django 项目。该项目是使用fabric和使用命令处理的,我已经安装了所有包,并且我的代码中出现“ ”错误,如图ImportError: cannot import name Celery所示。

目录结构如下:

- proj/
  - manage.py
  - fabfile.py
  - proj/
    - __init__.py
    - celery.py
    - settings.py
    - urls.py

芹菜.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

试过

  1. 我已更改 celery.py 的名称

  2. 我在ini .pycelery.pyfrom __future__ import absolute_import, unicode_literals上添加了at 第一行。

标签: pythondjangocelery

解决方案


推荐阅读