2016-12-15 4 views
1

ich ein Python-Projekt vor Ort arbeiten, die unter dem Kommando Format von UNIX läuft: Python main.py arg1 arg2 usw.Führen Sie einen Python-Befehl von einer .yaml Datei

Ich mag meinen Ordner in dem Google App exportieren Engine, also habe ich das kleine Tutorial gemacht, um "Hello World" auf meiner App laufen zu lassen. Ich habe die Datei app.yaml gelesen, kann aber nicht herausfinden, wie ich meinem Projekt, das meinen Python-Befehl ausführt, eine app.yaml hinzufügen kann.

EDIT:

runtime: python27 
api_version: 1 
threadsafe: true 

command: ["/bin/sh", "-c"] 
args: ["python webXMLPARSER.py www.reitmans.com 2016-12-01 2016-12-08"] 
+1

Standard oder Flex-Umgebung? –

+0

@DanCornilescu Standardumgebung – Seraf

+0

Besser, ein SO-Tag für GAE-Standard und flexible Umgebungen zu erstellen. –

Antwort

2

Die kurze Antwort - man kann das nicht tun.

Der Lange jetzt.

GAE (Standard) App-Code ist nicht als eigenständige App ausgeführt. Es ist lediglich eine Sammlung von Konfigurationsdateien und Code-Snippets, die zusammen mit dem GAE-Infra-Code (Live oder SDK) erstellt und ergänzt werden, um als App zu funktionieren.

Um die App lokal auszuführen, muss dies über den Entwicklungsserver des SDK erfolgen, siehe Using the Local Development Server für Details.

auch:

  • GAE-Anwendungen sind grundsätzlich Web-Server-Anwendungen, sie Anfragen erhalten und Antworten zurückgeben, sie nicht wirklich beliebigen Python cmds auszuführen. Ihre versuchte Konfiguration ist ungültig, siehe app.yaml Reference.

  • die GAE-Sandbox hat erhebliche Einschränkungen, was die App angeht, insbesondere das Starten anderer Prozesse ist nicht erlaubt. Siehe The sandbox.

1

Zuerst müssen Sie anweisen, eine Shell auszuführen, und dann Argumente an die Shell weitergeben wie Python something.py args1 args2.

command: bash -c "python something.py args1 args2" 

Sie sollten Dockerfiles versuchen 1, sie haben eine intuitive Art und Weise der Ausführung commads:

CMD ["python", "something.py", "args1", "args2"] 
+0

Ich bekomme den Fehler: Konfiguration ist nicht gültig: Unerwartetes Attribut 'Befehl' für den Objekttyp AppInfoExternal. – Seraf

+0

EDIT: Haben Sie ein einfaches .yaml Beispiel, ich bin ziemlich neu zu .yaml-Dateien. – Seraf

+0

Sie haben Ihre .yaml? Kannst du die Frage aktualisieren? Beantwortete die Antwort, könntest du es versuchen? –