Erreur lancement Celery : No module named 'django_celery'

Fermé
lynow Messages postés 22 Date d'inscription jeudi 18 mars 2021 Statut Membre Dernière intervention 28 juin 2023 - Modifié le 3 mai 2023 à 17:31
ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023 - 3 mai 2023 à 21:08

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 lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023 478
3 mai 2023 à 21:08

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