python - prices - "ImportError: ningún módulo llamado webapp2" después de la actualización del SDK de Linux(1.9.35-> 1.9.38)
google app engine sdk (1)
Después de actualizar mi SDK GAE Python Linux de la versión 1.9.35 a 1.9.38, mi aplicación dejó de funcionar, todas las solicitudes fallan de manera similar:
ERROR 2016-06-10 17:55:06,100 wsgi.py:263]
Traceback (most recent call last):
File "/usr/local/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "/usr/local/google_appengine/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
handler, path, err = LoadObject(self._handler)
File "/usr/local/google_appengine/google/appengine/runtime/wsgi.py", line 85, in LoadObject
obj = __import__(path[0])
File "/home/dancorn/src/apartsw/main/main.py", line 9, in <module>
import webapp2
ImportError: No module named webapp2
INFO 2016-06-10 17:55:06,102 module.py:788] default: "GET / HTTP/1.1" 500 -
Primero pensé que de alguna manera arruiné mi configuración de PyCharm, pero simplemente volviendo a 1.9.35 (señalando mi enlace simbólico
/usr/local/google_appengine
nuevo al directorio de la versión del SDK correspondiente) las cosas volvieron a funcionar como se esperaba.
Las notas de la versión del SDK no parecen indicar nada relacionado.
Encontré un informe similar , pero la solución sugerida (retroceder) no es realmente aceptable en el futuro.
También encontré esta publicación, pero no tengo instalado protobuf (explícitamente): ¿Cómo resolver un error de importación de webapp2 después de actualizar el iniciador de Google App Engine? . Todavía estoy masticando las publicaciones relacionadas que me llevaron a este delta potencialmente relacionado en el SDK, que investigaré a continuación:
diff google_appengine_1.9.35/_python_runtime.py google_appengine_1.9.38/_python_runtime.py
71a72,75
> if ''google'' in sys.modules:
> google_path = os.path.join(os.path.dirname(__file__), ''google'')
> google_module = sys.modules[''google'']
> google_module.__path__.append(google_path)
74,77c78
<
<
< if ''google'' in sys.modules:
< del sys.modules[''google'']
---
> google_module.__file__ = google_path
¿Alguna otra investigación conduce?
Actualización: el problema se solucionó en SDK versión 1.9.40.
Google ya conoce el problema, presentado en 1.9.37:
- el informe reconocido con más información
- seguido como GAE Issue 12963 .
Del hilo del informe, según Jon Parrot:
Gracias a todos por informar esto. Hemos reproducido el problema y la solución está llegando. No estará en la próxima versión del SDK (38), pero probablemente estará en 39 o 40.
Hasta que se publique la solución, se puede encontrar una versión anterior del SDK no afectada (como 1.9.36) here .