Ich habe ein von mir ausgeführtes Python-Skript, das unter einer bestimmten Umgebung ausgeführt werden muss, sodass ich das Programm wie folgt aus meinem Arbeitsverzeichnis ausführen würde ( ~/project/src
):
python manage.py shell
Dies öffnet eine interaktive Shell, in die ich meine eigenen Befehle eingeben kann.
Ich habe andere administrative Aktivitäten, die ich in einem anderen Verzeichnis unterbringen möchte ( ~/project/admin
). Die manage.py ist wirklich pingelig, wenn es darum geht, aus dem Arbeitsverzeichnis zu laufen. Um das Ganze zum Laufen zu bringen, habe ich ein Skript erstellt, das so beginnt:
#!/usr/bin/python ../src/manage.py shell
Es gibt ein paar Probleme damit. Das erste ist, dass es nicht funktioniert:
/usr/bin/python: can't open file '"/../src/manage.py" shell': [Errno 2] No such file or directory
- Wie geben Sie dem Interpreter mehrere Parameter an?
- Wie ändere ich das Arbeitsverzeichnis?
Antworten:
Sie können dem Interpreter nur ein Argument angeben. Ich glaube auch nicht, dass Sie relative Verzeichnisse verwenden können.
Ich würde vorschlagen, dass Sie das, was Sie tun müssen, in ein Shell-Skript oder ein Python-Skript packen, das Popen () verwendet, um es vielleicht aufzurufen.
quelle
Vorausgesetzt, ich habe Recht damit, dass Sie sich in einer Django-Umgebung befinden ...
Werfen Sie einen Blick auf James Bennets Artikel über eigenständige Django-Skripte . Schauen Sie sich den Abschnitt über "Use setup_environ ()" an, in dem erwähnt wird, dass dies "genau das ist, wie Djangos eigenes Skript manage.py mit Einstellungen umgeht".
Es gibt eine ähnliche Frage zum Stackoverflow, die Ihnen wahrscheinlich auch weiterhelfen wird.
quelle