Celery 和 Django - 没有名为 'django' 的模块



我使用此处描述的说明。Python 2.7和Celery 3.1.17。

在celery.py中,我有(在开头):

from __future__ import absolute_import
import os
from celery import Celery
from django.conf import settings

当我运行时:

celery -A proj worker -l info

我有一个错误:

from django.conf import settings
ImportError: No module named 'django'

但我有Django和我的项目工作。

如何解决?

谢谢!

确保使用virtualenv运行celery。检查方法是在激活virtualenv的情况下,运行命令:

which celery

如果你看到类似的东西:

/usr/bin/celery

然后全局安装了celery,需要卸载它,并确保它只在virtualenv中。

全局卸载celery后,在virtualenv中再次运行which celery并进行检查。

对我来说,问题是INSTALLED_APPS中有kombu.transport.django。我最初使用Django作为传输代理,但当我升级到最新的Celery版本时,它不支持Django用作传输代理,我在INSTALLED_APPS中仍然有kombu.transport.django。当我删除该引用时,我在启动芹菜时不再出现此错误。

相关内容

  • 没有找到相关文章

最新更新