我正在关注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))
有什么想法吗?链接?怎么能解决这个问题..
感谢您的帮助
答案 0 :(得分:0)
我认为你的celery.py模块正在影响真正的芹菜库。
在教程中,他们将celery.py放在" proj / proj / celery.py"并正在使用:
from __future__ import absolute_import
确保他们不会再次重新导入同一文件。
你基本上需要将celery.py移动到其他地方(例如我认为在projectname中)。