Django Sellerie Anwendung - Kein Modul namens Sellerie Fehler
Habe ich eine django-celery-Anwendung wie in der Anleitung unter:
http://docs.celeryproject.org/en/master/django/first-steps-with-django.html
Funktioniert alles einwandfrei wenn ich es ohne parameter ein, wie in:
$ python manage.py celery worker -l info
aber ich kann es nicht starten Sie es mit der Anwendung parameter, wie in:
$ python manage.py celery worker -A myapp -l info
wo myapp ist der name der Anwendung, wenn ich das Projekt erstellt mit:
$ python manage.py startapp myapp
Den Fehler, bin ich immer:
ImportError: No module named celery
Weiß jemand, warum dies passiert und wie es zu lösen?
-A
argument ist für Sellerie-Anwendungen, nicht für Django-Anwendungen... Sie sind nicht von django-Sellerie im moment.- ah, das wusste ich nicht. Danke für die Antwort. Aber wie kann ich dies ausführen?
- Sellerie 3.1 unterstützt django von Grund auf (aber nicht über alle Funktionen von django-Sellerie, e.g-NR Ergebnis-Datenbank-backend und keine Datenbank, periodische task scheduler, aber Sie können immer noch djcelery an der Spitze zu erhalten)
- Beispiel mit Sellerie mit django in Sellerie 3.1 (dev): github.com/celery/celery/tree/master/examples/django
Du musst angemeldet sein, um einen Kommentar abzugeben.
Edit April 2014:
Sellerie docs wurden aktualisiert für 3.1; die unter Lösung ist mittlerweile überholt, siehe:
http://docs.celeryproject.org/en/master/django/first-steps-with-django.html
Standardmäßig, Sellerie sucht nach einem Modul mit dem Namen
celery.py
zu finden, seine Konfiguration. Sie können erhalten Sellerie einen anderen Namen verwenden, alscelery.py
durch angeben es auf dem app-argument - in diesem Beispiel schauen wir für Sellerie config insettings.py
:Bei der Verwendung
django-celery
können Sie entweder den oben genannten Aufruf zu starten, Sellerie, oder tun, was ich ursprünglich haben, und erstellen Sie einecelery.py
in meiner Anwendung Paketmyapp
:Mein Django
settings.py
enthält die normalen Sellerie config:Führen Sie dann den Sellerie Arbeiter so:
Nur um der Klarheit Willen, hier ist meine vollständige Anwendung Struktur:
from celery import Celery
in einem Ordner zusammen mit dem, was ist wahrscheinlich eine ungültige Konfiguration. Hier ist das verrückte: wenn ich versuche, um eine andere, funktionierende Beispiele, es geht um das andere " Ordner-und sagtImportError: cannot import name Celery
from __future__ import absolute_import
Werden Sie sicher, dass Sie versuchen, starten Sie den Sellerie Arbeiter aus einem Verzeichnis, das Zugriff auf die Sellerie-Modul. In meinem Fall war ich versucht zu starten, die Arbeiter aus dem app-Verzeichnis, anstatt das Projekt.