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.
Temporal solution for macOS, copy the ipaddr.py
file to <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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With