Dev_appserver.py Fehler beim bereitstellen zu Google AppEngine
Ich versuche mich bereitstellen ein Beispiel dart-server mithilfe von Google AppEngine. Jedoch wenn ich dieses python-Skript (mit der aktuellen python-version installiert, 3.5)
dev_appserver.py
Ich habe auch versucht
dev_appserver.py --custom_entrypoint "dart-bin/server.dart - {port}" app.yaml
Bekomme ich diesen Fehler:
Traceback (most recent call last):
File "C:\Users\jkrie\AppData\Local\Google\Cloud SDK\google-cloud- sdk\bin\dev_appserver.py", line 11, in <module>
import bootstrapping.bootstrapping as bootstrapping
File "C:\Users\jkrie\AppData\Local\Google\Cloud SDK\google-cloud-sdk\bin\bootstrapping\bootstrapping.py", line 9, in <module>
import setup
ImportError: Kein Modul mit dem Namen 'setup'
Habe ich auch installiert setuptools. Ich muss davon ausgehen, es ist etwas falsch mit meinem Google-Cloud-SDK installieren, aber ich weiß wirklich nicht, was. Ist python 3.5 zu neu und ich brauche, um zu versuchen, eine ältere version?
Du musst angemeldet sein, um einen Kommentar abzugeben.
GAE standard-Umgebung nur unterstützt Python 2.7 zu dieser Zeit, siehe Google App Engine-Dokumentation.
Python 3.4 ist nur in der flexible Umgebung, die eine andere Entwicklung fließen.
Verwandte: Google cloud dev_appserver.py nicht hosten laravel Projekt lokal
In der Tat haben Sie auf die Verwendung von Python 2 für die standard-App-Engine-Umgebung für die Zeit.
Wenn du Python 3 installiert ist, können Sie erstellen eine virtualenv mit Python 2 verwenden
mkvirtualenv google --python=$(which python2)
und führendev_appserver.py .
in dieser Umgebung.Dies erspart Ihnen die Mühe des habens ein downgrade oder symlink python python2
Google könnte anfügen der Datei mit
statt
Es machen würde, Ihre Werkzeuge kompatibel mit OSs verwenden Python ist3 als Standard.
Als @dan-cornilescu, sagte GAE Standard-Umgebung support nur Python2.7
Wenn Sie in einer Umgebung mit multiversion von Python, Sie könnten leicht verwenden Pipenv zu führen Ihre dev_appserver.py mit Python 2.7 version.
Nachdem Sie installiert haben pipenv globaly Sie eine pipenv Umwelt in Ihrem Projekt-Ordner mit Python 2.7
Jedes mal, wenn Sie ausführen müssen dev_appserver.py verwenden Sie diesen Befehl,
pipenv wird die Verwendung von Python 2.7 für die Ausführung Ihres code. 😉
Hatte ich dieses Problem, da ich beide installieren python2.9 und Python ist3.6.
Schnelle Methode ohne deinstallieren Python ist3 ist nur löschen, Python ist3 Pfad in die Umgebungsvariablen, während Sie mit der GAE. Fügen Sie Sie zurück, wenn Sie fertig mit dem GAME.
Ich hatte das gleiche problem mit einer sehr einfachen python35 app (jetzt, ein Jahr später!)
Ich Tat, erstellen Sie eine python27 virtuellen Umgebung, die funktioniert, aber benötigt mehr workarounds.
Ist die einfachste Sache ist, führen Sie einfach
python applicationmodule.py
auf der shell, die Befehl Linie, können Sie sicherstellen, dass diese an der Unterseite:if __name__ == '__main__':
# This is used when running locally. Gunicorn is used to run the
# application on Google App Engine. See entrypoint in app.yaml.
app.run(host='127.0.0.1', port=8080, debug=True)
Wenn Sie ausführen möchten mit
dev_appserver.py
dann, fand ich, dass ich benötigt, um führen Sie den folgenden, um diese Arbeit auf dem Google-Cloud-Shell:dev_appserver.py app.yaml --custom_entrypoint ./applicationmodule.py
In diesem Fall, stellen Sie sicher, dass die
applicationmodule.py
nicht dieif __name__ == '__main__':
code. Wenn Sie diese haben, dann beginnt es, die gleiche Aufgabe wieder und beschwert sich über Konflikte auf port 8080.Diese unterscheidet sich von anderen Antworten, die haben die
--custom_entrypoint
parameter mehr wie die app.yamlentrypoint:
Eintrag.An einem Punkt ausführen dev_appserver.py beschwerte sich über die Ausführung applicationmodule.py (ich vergesse genau), also hab ich beide
chmod 777
und ich habe eine#!
zeigt auf meinem lokalen python-executable - es funktionierte nachdem ich beides getan, aber weiß nicht, ob es war diechmod
oder die#!
dass es getan hat.App Engine unterstützt nun Python 3 ab version 3.7.
Hier ein quick start guide und einige Unterschiede zwischen den support für die Versionen 2.7 und 3.7.