2013-10-20 8 views
7

Ich mache nur meine ersten Schritte mit Sellerie. Ich habe ein kleines Beispiel, die bei http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html beschrieben auf der Stufe basierte Wenn ich versuche, den Arbeiter manuellErste Schritte mit Sellerie mit einem virtualenv

celery -A my_example worker --loglevel=info 

verwenden zu beginnen ich in einem Fehler ausgeführt werden, da ein Modul aus meiner virtualenv nicht gefunden werden kann. Der virtualenv ist aktiviert und das Modul ist installiert, also nehme ich an, dass Sellerie meinen globalen Python-Interpreter benutzt. Ich überprüfte

celery worker --help 

aber fand keinen Parameter, um einen bestimmten Interpreter oder virtualenv anzugeben. Kann mir jemand sagen wie man einen Arbeiter manuell in einem virtualenv startet?

Update:

I Sellerie in meiner globalen Python-Umgebung und in meinem virtualenv installiert hatte. Ich habe beide entfernt und überprüft, dass beide Versionen entfernt wurden. Ich habe dann Sellery i my virutalenv installiert. Wenn ich das jetzt nennen celery comand Zeilen-Tool, erhalten sie die folgende Fehlermeldung:

-bash: /usr/local/bin/celery: No such file or directory 

, dass der Ort ist, wo das Werkzeug installiert werden würde, wenn es wäre globaly installiert werden. So funktioniert Sellerie überhaupt von einem virtualenv?

+0

was gibt Ihnen Sellerie .__ Datei__? (project_A) user-164-126-78-15: ~ galuszkak $ python Python 2.7.5 (Standard, 7. September 2013, 11:38:54) [GCC 4.2.1 Kompatibel Apple LLVM 4.2 (klingelt 425.0.28)] auf darwin Geben Sie "help", "copyright", "credits" oder "license" ein, um weitere Informationen zu erhalten. >>> import sellerie >>> sellerie .__ file__ '/Users/galuszkak/Projects/virtuals/project_A/lib/python2.7/site-packages/sellery/__init__.pyc' – galuszkak

+0

Wenn ich dies von einem interaktiven tun prompt erhalte ich den Pfad zur virtualenv Version. – Achim

Antwort

5

Versuchte sauber Sellerie in virtualenv zu installieren (ohne sie in globalen System-Interpreter installieren):

mkdir celery-test 
cd celery-test 
virtualenv-2.7 .python 
source .python/bin/activate 
pip install celery 
celery worker --help 

Es funktioniert perfekt, which celery gibt mir:

/home/user/projects/celery-test/.python/bin/celery 

Wie erwartet.

Ich schlage vor, Sie Ihre Terminal-Sitzung erneut ausführen (mögliche Probleme mit PATH).

Wenn es nicht hilft, dann können Sie Ihre PATH-Variable untersuchen, um herauszufinden, warum Sellerie von virtualenv nicht sichtbar ist.

Und wenn es keine Probleme mit PATH gibt, aber das Problem weiterhin besteht, versuchen Sie, Ihr virtualenv von Grund auf neu zu erstellen.

EDIT:

Ein weiterer Vorschlag: Check Ausgang:

which celery 

Es zu einem gewissen Weg zeigen sollte, aber es könnte auch so aliased werden: Wenn

celery: aliased to /somepath/bin/celery 

es tatsächlich zu etwas aliased, als Sie Ihre ~/.bashrc (~/.zshrc) oderüberprüfen müssen(~/.zprofile), oder sogar Inhalt von /etc/profile.d/* Ordner. Sie müssen diesen Alias ​​entfernen.

+2

Sieht aus wie es der PATH war. Eine neue Terminalsitzung hat das Problem gelöst. Aber ich habe keine Ahnung warum !? ;-) – Achim

+0

@Achim, froh, dass dein Problem gelöst ist :) Ich weiß nicht, nur vorgeschlagen. Vielleicht war etwas, das in dieser Terminalsitzung installiert wurde, mit PATH verwurzelt, also war/usr/local/bin am Anfang von PATH. – Waterlink