Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why is dev_appserver.py reporting "no such file or directory" after today's gcloud components update

I've been successfully running the local development server daily and have made no changes except that I called "gcloud components update" just before it stopped working. Now I get:

..snip...    <<PATH TO MY SDK>>/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/application_configuration.py", line 518, in _parse_configuration
        with open(configuration_path) as f:
    IOError: [Errno 2] No such file or directory: 'app.yaml'

Of course app.yaml hasn't moved.

Any thoughts?

like image 595
Steve Avatar asked Oct 04 '18 19:10

Steve


2 Answers

It looks like there's an active issue on Google's issue tracker (opened on Oct 2, 2018) pertaining to this:

After updating to the Python (2.7) extensions for GAE to version 1.9.76, I am no longer able to run my code with dev_appserver.py

As of Oct 3, a fix appears to be in the works, but for now they suggest downgrading Google Cloud SDK to version 218.0.0:

It seems like you are affected by a known issue regarding ‘dev_appserver.py’ breaks in Google Cloud SDK version [219.0.1]. App Engine specialists are currently working to resolve it. However there is no ETA at this moment. As a workaround you can downgrade the Google Cloud SDK version using this command:

gcloud components update --version 218.0.0

The assignee of the issue will post an update on that issue when it has been resolved.

UPDATE (OCT 9, 2018): Cloud SDK version 220.0.0, which fixes the dev_appserver.py issue, is now available. I updated (via gcloud components update) and verified that it works. (Note: there are already a couple of complaints on the Issue Tracker that dev_appserver.py takes too long to load now. I didn't notice a significant difference from version 218, but I didn't compare timings.)

like image 82
carbonturtle Avatar answered Jan 01 '23 23:01

carbonturtle


You may create make file and have something like this:

export SDK=dev_appserver.py
export APP_PATH=${CURDIR}

run:
    $(SDK) $(APP_PATH)/path-to/app.yaml

And just use it with: make run so you don't have to worry about paths.

like image 31
cn007b Avatar answered Jan 01 '23 21:01

cn007b