【问题标题】:Google Cloud SDK - No module named ipaddrGoogle Cloud SDK - 没有名为 ipaddr 的模块
【发布时间】:2018-05-29 12:07:59
【问题描述】:

今天,我们的开发容器在从 Google Cloud SDK 运行 App Engine (GAE) 标准本地开发环境时开始抛出错误。

ERROR    2017-12-15 09:38:37,766 http_runtime.py:396] bad runtime process port ['']
Traceback (most recent call last):
  File "/opt/google-cloud-sdk/platform/google_appengine/_php_runtime.py", line 103, in <module>
    _run_file(__file__, globals())
  File "/opt/google-cloud-sdk/platform/google_appengine/_php_runtime.py", line 97, in _run_file
    execfile(_PATHS.script_file(script_name), globals_)
  File "/opt/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/php/runtime/runtime.py", line 39, in <module>
    from google.appengine.tools.devappserver2 import wsgi_server
  File "/opt/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/wsgi_server.py", line 34, in <module>
    import ipaddr
ImportError: No module named ipaddr

这似乎是自动升级到最新的 SDK 造成的。

【问题讨论】:

  • 我在 MacOS 上遇到了同样的问题,Google Cloud SDK 183.0.0
  • 2018 年 2 月 12 日星期一发布的 GoogleAppEngine-1.9.67 仍然存在

标签: php google-app-engine google-cloud-platform google-cloud-sdk


【解决方案1】:

macOS的临时解决方案,将ipaddr.py文件复制到&lt;google-cloud-sdk&gt;/platform/google_appengine

【讨论】:

  • 为我修复了它。请注意,如果您仍然使用旧启动器,它不在 ~/google-cloud-sdk 中,而是在 /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine
【解决方案2】:

在我们用于匹配 GAE PHP 5.5 版本的 Ubuntu 14.04 上,默认情况下未安装他们尝试使用的 python 模块。

我们安装它:

# apt install python-ipaddr

这似乎是因为他们引入了一项与主机检查有关的功能,以防止 DNS 重新绑定攻击。

【讨论】:

  • 安装该库解决了在 Windows 10 上为 GAE PHP 5.5 遇到的问题
【解决方案3】:

在 Windows 10 中,我将文件 ipaddr.py 从 https://github.com/google/ipaddr-py 复制到 Google\Cloud SDK\google-cloud-sdk\platform\bundledpython\Lib\ 文件夹中,它可以正常工作。

不是经验丰富的 Python 编码器,所以我不确定它是否是放置丢失的 ipaddr.py 文件的最佳位置,但它可以工作。

【讨论】:

  • 对于它的价值,这在我的 Win 10 下不起作用。我不得不在 '\Python\Lib\' 文件夹下安装 'ipaddr.py'。
【解决方案4】:

这发生在我的 Windows 7 中的 GoogleAppEngine-1.9.65 升级之后,似乎 C:\Program Files (x86)\Google\google_appengine\lib\ipaddr\ipaddr 文件夹缺少 ipaddr.py 文件。

我必须下载ipaddr-2.2.0.tar.gz然后解压缩并运行以下命令来安装它。

python setup.py install

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-02
    • 2016-07-11
    • 2023-03-25
    • 2019-02-01
    • 2019-06-05
    相关资源
    最近更新 更多