【问题标题】:How to solve a webapp2 import error after upgrading Google App Engine launcher?升级 Google App Engine 启动器后如何解决 webapp2 导入错误?
【发布时间】:2016-06-02 05:58:32
【问题描述】:

我们刚刚在 Mac 上升级了 Google App Engine Launcher,现在运行良好的脚本在通过 PyCharm 启动时抛出“ImportError: No module named webapp2”错误。

这是踪迹:

Traceback(最近一次调用最后一次):文件 “/usr/local/google_appengine/google/appengine/runtime/wsgi.py”,行 240,处理中 handler = _config_handle.add_wsgi_middleware(self._LoadHandler()) 文件“/usr/local/google_appengine/google/appengine/runtime/wsgi.py”, 第 299 行,在 _LoadHandler 中 处理程序,路径,错误 = LoadObject(self._handler) 文件“/usr/local/google_appengine/google/appengine/runtime/wsgi.py”,行 85、在LoadObject中 obj = import(path[0]) 文件“/Users/Michael/Documents/GitHub/velocitybyathla/main.py”,第 17 行,在 import webapp2 ImportError: No module named webapp2 INFO 2016-06-02 05:39:58,835 module.py:788] 默认值:"GET / HTTP/1.1" 500 -

我们尝试按照here 的建议在 Google App Engine Launcher 中添加 Python 的路径 - 但错误仍然存​​在。

webapp2 已明确安装。它在升级之前工作,如果我们执行“pip install webapp2”,它会说它存在。

我们还尝试了“制作符号链接”,但没有成功。

Google App Engine Launcher 是如何丢失模块路径的?我们如何解决它?

【问题讨论】:

    标签: macos python-2.7 google-app-engine pycharm upgrade


    【解决方案1】:

    这是我们的解决方案。

    (1) 我们重新安装了 Python 2.7(可能没有必要)

    (2) 我们重新安装了 Google App Engine SDK(可能没有必要)

    (3) 我们将 pip 升级到最新版本(可能没有必要)

    pip install --upgrade pip
    

    (4) 我们根据this answer 卸载了protobuf。 (必要)

    pip uninstall protobuf
    

    在此之后,我们的应用程序开始运行。但是后来我们得到了一个丢失的“module _ssl”错误。 我们通过添加以下内容解决了这个问题:

    (5) 我们修改了app.yaml文件: - 名称:ssl 版本:最新

    现在我们的应用又可以正常运行了。

    【讨论】:

      【解决方案2】:

      您好,我已经解决了这个问题,方法是在我的项目中创建一个 lib 文件夹并在那里安装所有依赖项,包括 webapp2webobb 和其他我的应用程序使用。

      你可以通过输入pip install <dependecy> -t lib来做到这一点

      如果你有 appengine_config.py ,那么你已经将 lib 添加到你的路径中,你可以通过查看来验证它

      from google.appengine.ext import vendor
      # Add any libraries installed in the "lib" folder.
      vendor.add('lib')
      

      否则你总是可以这样做

      import sys
      sys.path.insert(0, 'libs')
      

      【讨论】:

        【解决方案3】:

        我在 Windows7 中的 1.9.37 和 1.9.38 中遇到了类似的错误。当我重新安装 1.9.36 版本时,一切正常。

        我认为这是 Google App Engine 团队的问题。你可以看看这个问题: Issue 12963: ImportError on SDK provided libraries since 1.9.37

        所以我的快速解决方案就是重新安装旧版本(1.9.36 或更早版本)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-05-17
          • 1970-01-01
          • 2021-02-22
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多