2017-01-21 6 views
0

Ich habe Flask Web App, die ich versuche, auf azurblau zu veröffentlichen. Ich habe es in der Web-App bereitgestellt, eine neue Ressource erstellt, ein Benutzer-Veröffentlichungsprofil heruntergeladen und es mit der heruntergeladenen Datei aus Visual Studio veröffentlicht. Alles läuft reibungslos auf localhost aber einmal veröffentlicht im bekommen Fehler:Publishing Flask Web App auf Azure

Ich habe wenig bis gar nicht wissen, was das bedeutet. Dies ist mein allererstes Web, das ich veröffentlichen kann, also bin ich ziemlich Neuling.

Mein Projekt hat folgende Struktur. enter image description here

Mein Views.py nennt Senna-win32.exe mit dem folgenden Code:

senna_path = os.path.join('senna\\senna-win32.exe') 
p = subprocess.Popen(senna_path, stdout=subprocess.PIPE,stdin=subprocess.PIPE) 
grep_stdout = p.communicate(input=bytes(va, 'utf-8'))[0] 
inList = grep_stdout.decode() 
inList = list(inList.splitlines()) 

Es scheint keine Probleme/Fehler auf meinem localhost zu haben, aber nicht sicher, was auf azur gehen.

+0

Wie haben Sie Ihre App bereitgestellt? Bitte bearbeiten Sie Ihre Frage entsprechend. –

+0

Ich habe eine neue Ressource hinzugefügt, das Veröffentlichungsprofil heruntergeladen und es mit der Veröffentlichungsprofildatei aus Visual Studio veröffentlicht. Hast du das gefragt? – Gio

+0

Nein, nicht das, was ich gefragt habe (und ich habe dich auch gebeten, * deine Frage * zu bearbeiten, anstatt zusätzliche Details in Kommentaren zu posten). Haben Sie einen Cloud-Dienst bereitgestellt? zu einer Web-App? Wenn Sie eine Web-App haben, wie haben Sie sie ursprünglich erstellt? Im Wesentlichen alle Details Ihrer Bereitstellung und des von Ihnen verwendeten Azure-Dienstes. –

Antwort

2

Nach meiner Erfahrung gibt es viele Gründe, die das Problem wie Ihres verursachen werden.

Im ersten Fall werden einige Python-Pakete, die in der Datei reqirements.txt erforderlich sind, nicht direkt in Azure WebApp installiert. Für diesen Fall müssen Sie das offizielle Paket für troubleshooting befolgen, um es zu lösen. Oder sogar, Sie können versuchen, meine Lösung für den anderen SO-Thread Publishing MVC app that uses python script zu folgen, um es zu lösen.

Ich denke jedoch, dass Ihr Problem möglicherweise durch die senna_path in Ihrem Code verursacht wird, ist kein gültiger Pfad auf Azure WebApp. Ich habe versucht, ein einfaches Python-Skript wie folgt zu erstellen, um Ihren Code mithilfe der Kudu-Konsole in Azure WebApp zu testen. Es funktioniert über den Befehl python test.py > test.out.txt.

import os 
from subprocess import Popen, PIPE 

path = os.path.join('senna-win32.exe') 
p = Popen(path, stdin=PIPE, stdout=PIPE) 
grep_stdout = p.communicate(input="happy time".encode('utf-8'))[0] 
inList = grep_stdout.decode() 
inList = list(inList.splitlines()) 
print inList 

Also mein Vorschlag ist, dass versuchen, den absoluten Pfad zu verwenden D:\home\site\wwwroot\FlaskWebProject1\senna\senna-win32.exe statt senna\senna-win32.exe für Ihre Anwendung das Problem zu lösen.

Jedes Update, bitte zögern Sie nicht mich zu informieren.

+0

Ich habe custError ausgeschaltet, in eventLog.xml gesucht und einen etwas beschreibenden Fehler gesehen Das beschwerte sich über den Weg. Es wurde in den vollständigen Pfad geändert und dieser spezifische Fehler ist verschwunden. Jetzt im Angesicht Problem, das sich über microsoft.cis.query beschweren nicht im richtigen Format, aber krank Post in verschiedenen Frage, wenn ich es nicht lösen kann. Du hast meine erste Frage dankend beantwortet! – Gio