I was unable to upload to an AppEngine as appcfg was telling me :
This application does not exist (app_id=u'xxx').
I was only a developer on the AppEngine, so as I was just testing I created a new AppEngine where I was the owner but I still get the same message on a newly created AppEngine.
The fix I found was to add the parameter --no_cookies:
appcfg.py update --no_cookies MyProjectDirectory/
This can happen when you upload AppEngine applications from different Google accounts on the same computer.
You have to log in in your gae account and create an application before you upload it, and your app_id has to have the same name as you app. You can't just upload it.
So go here, create your app, for example "example_app" and set the app_id=example_app and everything should work :)
The same problem occurs with the Java/Eclipse plugin version of App Engine. The 404 happens when you're logged in to the wrong Google account from within the plugin. In that case, look at the bottom-left of Eclipse to see what account you're currently using.
Regarding the Python command line updater, if your cookies indicate that you're logged in to a Google account that doesn't have access to the application you're updating, then that would explain why ignoring those cookies by using "appcfg.py update --nocookies" fixes it.
This is really old, so I wouldn't be surprised if this isn't picked up by the poster, but I wanted to ensure that I have a reference for the next time I have the issue.
I had this issue. My problem ended up being that I had not invited the user that I was authenticating as to be a developer on the project. In fact I had just created the user and not even logged on yet.
I logged on to the google infrastructure as the new user, then added the new user as a developer on the application. I was then able to upload the app.
Tried to upload to the app this morning (first time i've tried since Friday) and it just worked (first time...!)
No idea what the issue was as I haven't done any work on this over the weekend so everything should have been the same as it was on Friday.
I got the same error message trying to make the first deployment of a Python Application using a Google Apps account.
In my case the problem was caused by the fact that my 2-way authentication is enabled.
With 2-way authentication enabled you need to generate an authentication password in your Google Account Management Application and use it to do the deployments.
this way worked:
modified the app.yaml to specify the application: some_id
python appcfg.py update ../some_application/server/python
I fixed this problem by editing my app.yaml file to have the correct application name. In the app.yaml file where it says 'application:[insert app name here]', I had to change the [insert app name here] part. I'm not sure why the name was wrong, but I do remember toying around with it before while attempting to fix a different bug. The way I figured out the proper name was to go to my applications in my GAE admin console and look to see what the app's name was there. Hope this helps anyone else that runs into this same problem :)
If you are using --oauth2 make sure that you are logged into the correct account when generating the token.
appcfg.py --no_cookies --oauth2 --email=myemail --noauth_local_webserver update .
I navigated to my app engine directory folder and ran the above command. This deployed it successfully from the command line for me (Mac OSX terminal)--although I still couldn't deploy from app engine launcher. I believe Launcher still thinks I'm running off port 8080. However, running dev_appserver.py --port=11080 .doesn't fix this issue for me-- what ended up solving it was just removing the directory from the app engine launcher then just re-adding it.
What worked for me is to use the project id from the google app engine console instead of the project name in app.yaml
Posting Ric Moore's comment in the selected answer because that is a valid answer and it worked in my case (and hopefully it helps someone else having the same issue spot it quickly).
I have an alternation solution - in the Google App Engine Launcher select from the menu Control > Clear Deployment Credential. Then when you click Deploy it will take you through the auth flow again and you can select the correct account. - Ric Moore
I had this issue and I simply needed to run 'gcloud app create' for this project within the console console. Screenshot
Previously I don't think this step was needed.
Related
I'm currently trying to upload my django app to pythonanywhere and i keep running into errors with my wsgi application, it says "sys" is not defined. I have correctly followed all the steps in the manual that pythonanywhere provides, yet it is still not working. I want to know if anyone has successfully uploaded a django app with pythonanywhere and how he/she got it done; or if there are better alternatives i can explore. Thanks. I would be waiting for an answer.
Pythonanywhere advice to set up a virtual environment, in which you install all dependancies. Have you done so?
I tried:
rm ~/.appcfg_oauth2_tokens
Whole process with page authentication finish successfully for both accounts (owner role) with same result
appcfg.py update --no_cookies
Same result
appcfg.py update --noauth_local_webserver
Token is displayed, accepted in terminal, process continues towards same result.
I also tried to add another google account as owner, with same result. When I mistype application name, error is different, so I guess this is not a problem. Goapp deploy and appcfg seems to be same tool basically, both have same results in the end.
Any ideas?
Try checking the appengine-web file at /webapp/WEB-INF sounds like you have a reserved application name or application+version
Edit: For further consultation I am adding the conclusion of the thread.
Deploying from the GCP console was a valid workaround to the issue.
https://cloud.google.com/sdk/gcloud/reference/app/create
https://cloud.google.com/appengine/docs/python/tools/uploadinganapp
Hint from Nilo_DS was pointing in right direction. Using gcloud commands, I was able to upload app correctly. Still not sure what is going on when using goapp command, but this workaround is good enough for me.
Commands I used were
gcloud init
gcloud beta app create
gcloud deploy
I have the myapp.py and app.yaml in my windows C:\myap directory. The docs say to use:
appcfg.py update myapp/
to upload the app.
I've downloaded/installed Python and the Google python kit.
Sorry, for these noobish questions, but:
Is the myapp/ listed above refer to c:\myapp on my windows machine? Or is it the name of my app on the google side?
How/where do I type the appcfg.py to upload my directory?
Are there any security issues associated with using my gmail account and email address?
I'd like anybody from Second Life to be able to call this from in-world. There will be about a dozen calls a week. Are they going to have to authenticate with my email/password to use it?
Thanks for any help you can provide!
Since you have app in C:\myap you need to run appcfg.py update C:\myap. It's just a path to you app on your machine.
In windows command line. For example, "C:\Program Files (x86)\Google\google_appengine\appcfg.py" update C:\myap
No, appcfg uses SSL while uploading. It's safe.
If you mean to call application uploading - it's not really safe. I don't know why you need this. You can add app developers in App Engine admin console, so they will be able to deploy application from their accounts.
I'm trying to create a KhanAcademy (KA) clone on Google App Engine (GAE). I downloaded the offline version of KA (http://code.google.com/p/khanacademy/downloads/list) for Mac, and set it up with GoogleAppEngineLauncher (https://developers.google.com/appengine/). Because KA was produced on Python 2.5, I have the setup running through the Python 2.5 included in the KA offline version download, and I added these extra flags to the app (to essentially duplicate the functionality of the included Run file):
--datastore_path=/Users/Tadas/KhanAcademy/code/datastore --use_sqlite
As is, GAELauncher is able to get that up and running perfectly fine on a localhost. However, to get it up on my Google appspot domain, I need to change the application name in app.yaml. When I change "application: khan-academy" in app.yaml to a new name and try to run the local version via GAELauncher (or the included Run file), the site comes up but all the content (exercises, etc.) has disappeared (essentially, the site loses most of its functionality). If I try to "Deploy" the app in this state, I received a 500 Server Error when I try to go on the appspot website. Any ideas as to what could be going wrong?
Thanks.
The problem is that your 'clone' application does not have access to Khans Academy's AppEngine datastore so there is no content to display. Even if you do use all of the code for their application, you are still going to have to generate all of your own content.
Even if you are planning to 'clone' their content, too, you are going to have to do a lot of probably manual work to get it in to your application's datastore.
When I go to appengine.google.com/a/mydomain.com i am able to login and
see all my apps and administer them.
However, when I try to use the remote_api the same username/password does not work.
I'm using the interactive console code from http://code.google.com/appengine/articles/remote_api.html
This is a known issue with Google Accounts authentication. If you created an app and set it to use Google Accounts for authentication, and you yourself use a Google Apps account, you will not be able to authenticate against your app as an administrator using that account, even if you've created a Google Account for that email address. The workaround for now is to create a gmail account and add it as an administrator of your app, using that whenever you need to authenticate against your app as an administrator. You can still use your existing account for deployments and to log in to the admin console.
It's a pain, I know - I run into it every day myself.
I've come across the same issue while developing for GAE on google apps. To make it work, I've created a simple wrapper around a snippet provided by Nick (blog.notdot.net - I can't seem to find the proper reference right now) that has been working for me. You can find it here.