pip安装djcelery后出现导入错误

时间:2013-12-04 22:05:04

标签: python django celery

我正在关注starting with Django for Celery教程。 pip在virtualenv中安装了所有内容(已激活)

并具有以下结构:

project folder/
    dev.db
    manage.py
    app.one/ #app folder
    celeryapp # a folder that contains the files from the tutorial.
    /__init__.py
    /celery.py #as explained in the tutorial
    projectname/ #folder that contains settings.py, urls etc.

我的问题是,在安装djcelery并将其添加到django INSTALLED_APPS之后,触及django runserver的所有内容都失败了:

ImportError: Could not import settings 'register.settings' (Is it on sys.path? Is there an import error in the settings file?): No module named celery

使用3.1.6

celery.py如下:

    #!/usr/bin/env/python
from __future__ import absolute_import

import os

from celery import Celery
from django.conf import settings

os.environ.setdefault('DJANGO_SETTINGS_MODULE','register.settings')

app = Celery('celery')
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))

有什么想法吗?链接?怎么能解决这个问题..

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我认为你的celery.py模块正在影响真正的芹菜库。

在教程中,他们将celery.py放在" proj / proj / celery.py"并正在使用:

from __future__ import absolute_import

确保他们不会再次重新导入同一文件。

你基本上需要将celery.py移动到其他地方(例如我认为在projectname中)。