简体   繁体   中英

Google Cloud SDK - No module named ipaddr

Today our development containers started throwing and error while running the App Engine (GAE) Standard local development environment from the Google Cloud SDK.

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

It looks like it was caused by an upgrade to the latest SDK which happened automatically.

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

On Ubuntu 14.04, which we are using to match the GAE PHP version of 5.5, the python module they are trying to use isn't installed by default.

We installed it with:

# apt install python-ipaddr

This looks to be because of a feature they have introduced to do with host checking, to prevent DNS rebinding attacks.

In Windows 10, I copied the file ipaddr.py from https://github.com/google/ipaddr-py into the Google\\Cloud SDK\\google-cloud-sdk\\platform\\bundledpython\\Lib\\ folder and it worked.

Not an experienced Python coder, so I'm not sure if it's the best place to put the missing ipaddr.py file, but it works.

This happened after GoogleAppEngine-1.9.65 upgrade in my Windows 7 and it seems C:\\Program Files (x86)\\Google\\google_appengine\\lib\\ipaddr\\ipaddr folder is missing ipaddr.py file.

I had to download ipaddr-2.2.0.tar.gz then unzip it and run following command to install it.

python setup.py install

Hope this helps.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM