Celery and Django - No module named 'django

2019-02-24 11:30发布

问题:

I use instructions described here. Python 2.7 and Celery 3.1.17.

In celery.py I have (in beginning):

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

When I run:

celery -A proj worker -l info

I have an error:

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

But I have Django and my project works.

How to fix that?

Thanks!

回答1:

Make sure that you are running celery with your virtualenv. The way to check this is with your virtualenv activated, run the command:

which celery

If you see something like:

/usr/bin/celery

Then you have celery installed globally, and you need to uninstall it, and make sure it's only in your virtualenv.

After uninstalling celery globally, within the virtualenv run which celery again and check.