Erreur lancement Celery : No module named 'django_celery'

lynow Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   -  
ozone_ Messages postés 1518 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

J'ai débuté un projet qui utilise Django, Celery et Redis.

J'ai donc commencé par créer mon environnement virtuel et suivi pas à pas le tuto définit ici :

https://www.codingforentrepreneurs.com/blog/celery-redis-django/

Cependant, je fais face à une erreur que je n'arrive pas à résoudre lorsque je tente de lancer Celery via la commande :

celery -A myApp worker --beat

La voici :

  File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'django_celery'

Je ne comprends pas pourquoi j'ai cette erreur alors que j'ai bien installé les paquets suivants :

redis django-celery-beat django-celery-results python-decouple

J'ai cherché sur internet, pas de problèmes similaires apparemment, à part un cas où il dit d'installer le paquet, ce que j'ai fait :

pip install django-celery

Toujours la même erreur.

Alors là, je suis vraiment bloqué, si quelqu'un peut m'aider, ce serait super ...

Version :

celery==4.0.0

Django==4.2.1
django-bootstrap-v5==1.0.11
django-celery==3.3.1
django-celery-beat==2.5.0
django-celery-results==2.5.0

Lynow
Windows / Firefox 112.0

1 réponse

ozone_ Messages postés 1518 Date d'inscription   Statut Membre Dernière intervention   478
 

Bonjour,

L'erreur que vous rencontrez indique que le module 'django_celery' n'a pas été trouvé, même si vous avez installé le paquet 'django-celery'.

Cela peut se produire si le nom du module importé ne correspond pas exactement au nom du paquet installé. Il est possible que le nom du module ait été changé depuis la version que vous utilisez.

Dans votre cas, vous utilisez la version 3.3.1 de django-celery, qui est assez ancienne. Depuis cette version, le nom du module a été modifié pour devenir 'celery.contrib.django'.

Je vous recommande donc de remplacer toutes les occurrences de 'django_celery' par 'celery.contrib.django' dans votre code, puis de réessayer de lancer la commande 'celery -A myApp worker --beat'. Cela devrait permettre à Celery de trouver le module correspondant.

J'espère que cela vous aidera. N'hésitez pas à revenir vers moi si vous avez d'autres questions ou si vous rencontrez d'autres problèmes.

Source: ChatGPT


-1