今天,我们的开发容器在从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引起的。
答案 0 :(得分:7)
macOS的临时解决方案,将ipaddr.py
文件复制到<google-cloud-sdk>/platform/google_appengine
答案 1 :(得分:3)
在我们用来匹配GAE PHP版本5.5的Ubuntu 14.04上,默认情况下没有安装他们试图使用的python模块。
我们安装了它:
# apt install python-ipaddr
这看起来是因为他们引入了与主机检查有关的功能,以防止DNS重新绑定攻击。
答案 2 :(得分:1)
在Windows 10中,我将文件ipaddr.py
从https://github.com/google/ipaddr-py复制到Google\Cloud SDK\google-cloud-sdk\platform\bundledpython\Lib\
文件夹中,然后才有效。
不是经验丰富的Python编码器,因此我不确定它是否是放置丢失的ipaddr.py
文件的最佳位置,但它确实有效。
答案 3 :(得分:0)
这发生在我的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
希望这有帮助。