[英]“ImportError: No module named webapp2” after Linux SDK upgrade (1.9.35 -> 1.9.38)
將我的GAE Python Linux SDK從版本1.9.35升級到1.9.38后,我的應用程序停止工作,所有請求都以類似的方式失敗:
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 -
我首先想到我以某種方式搞砸了我的PyCharm配置,但只是回滾到1.9.35(通過將我的/usr/local/google_appengine
符號鏈接指向相應的SDK版本目錄)讓事情恢復正常。
SDK發行說明似乎並未表明任何相關內容。
我發現了類似的報告 ,但建議的修復(回滾)在路上並不是真的可以接受。
我也發現了這篇文章,但我沒有安裝protobuf(明確): 如何在升級Google App Engine啟動器后解決webapp2導入錯誤? 。 仍在咀嚼相關帖子,這導致我在SDK中可能相關的delta,我將在下面調查:
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
還有其他調查嗎?
更新:此問題已在SDK版本1.9.40中修復。
Google已經知道這個問題,在1.9.37中引入:
根據Jon Parrot的報告主題:
謝謝大家報道此事。 我們已經復制了這個問題,而且修復工作正在進行中。 它不會出現在下一個SDK版本(38)中,但可能會在39或40版本中。
在修復發布之前,可以在此處找到早期未受影響的SDK版本(如1.9.36)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.