簡體   English   中英

Linux SDK升級后的“ImportError:沒有名為webapp2的模塊”(1.9.35 - > 1.9.38)

[英]“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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM