Ich habe viele Wiederholungen dieser Frage und viele ziemlich spezifische und nutzlose Ansers gesehen. Die Frage ist so etwas wie:GAE devappserver2 TypeError: nicht unterstützte Operandentyp (en) für -: 'datetime.datetime' und 'NoneType'
Wenn dev_appserver.py app.yaml
läuft ich einen Fehler wie so:
waxed_backend_1 | _run_file(__file__, globals())
waxed_backend_1 | File "/google-cloud-sdk/platform/google_appengine/dev_appserver.py", line 97, in _run_file
waxed_backend_1 | execfile(_PATHS.script_file(script_name), globals_)
waxed_backend_1 | File "/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 899, in <module>
waxed_backend_1 | main()
waxed_backend_1 | File "/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 895, in main
waxed_backend_1 | dev_server.stop()
waxed_backend_1 | File "/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 775, in stop
waxed_backend_1 | metrics.GetMetricsLogger().Stop()
waxed_backend_1 | File "/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/metrics.py", line 123, in Stop
waxed_backend_1 | total_run_time = int((Now() - self._start_time).total_seconds())
waxed_backend_1 | TypeError: unsupported operand type(s) for -: 'datetime.datetime' and 'NoneType'
Wie funktioniert ein Debug das?
Für andere Menschen, die in dieses Thema zu finden: @Sheena richtig ist, dass es bedeutet, dass ein Fehler ausgelöst wurde, bevor '_start_time' initiiert wurde und in meinem Fall war es der app.yaml hatte nicht das richtige Format/notwendige Werte. Dies führt dazu, dass dev_appserver.py fehlschlägt, bevor es korrekt gestartet wird. Überprüfen Sie "app.yaml". – Mathias
@Mathias Ich habe diesen Fehler von ein paar verschiedenen Dingen bekommen. Normalerweise wegen Fehlern im Python-Code, nicht der Yaml. Während ich denke, dass Fehler in der Konfiguration auftreten können, ist nur einer von vielen Orten zu sehen. Der beste Ort, um nach einer Ausnahme zu suchen, ist normalerweise das Traceback. Ansonsten geht es darum, zu überprüfen, was Sie seit dem letzten Lauf bearbeitet haben, und danach zu graben. Was meistens kein Spaß ist – Sheena