I've been struggling to find an online IDE which supports Go and Google App Engine. Codeenvy supports it using python, while Cloud9 runs python 2.6 (which isn't compatible with GAE), and the update doesn't work.
Is there any IDE that will allow me to develop and deploy Go to GAE?
Python 2.7.3 should be installable from command line in Cloud9 via c9pm install python27 (see also the github repo.
Koding comes with Go, Python2 & 3, and best of all gives you a normal Ubuntu VM with full root access! It will work great with Go and GAE :)
Related
The following error keeps appearing whenever I try to do
dev_appserver.py app.yaml
File "/Users/monikap/Desktop/test-dir/google-cloud-sdk/platform/google_appengine/dev_appserver.py", line 95, in
assert sys.version_info[0] == 2
AssertionError
I have Python version 3.7 installed on my Mac
The development server still needs python 2 installed, even for python 3 apps, see Python 3.7 Local Development Server Options for new app engine apps
Python3 now has GA support on Cloud SDK.
I think you need to update your Cloud SDK with gcloud components update.
I'm creating an AppEngine webapp and would like to be able to deploy it from IntelliJ. However, the plugin fails to deploy because it's looking for appcfg.sh in the AppEngine SDK directory. That directory contains an appcfg.py file, but no .sh file. Is the plugin just out of date? Is there a work around?
Google Cloud SDK 249.0.0
app-engine-java 1.9.74
The appcfg.sh was (or maybe still is) available in the GAE-only Java SDK, but not in the gcloud SDK (click on Download and install the original App Engine SDK for Java. at the bottom of the Download Cloud SDK page).
The JetBrains tools are a bit behind in this regard (same applied to the last PyCharm Pro version I used - it supported the GAE Python SDK, not the gcloud one). Which is why I have both SDKs installed, using them alternatively as needed.
Notes:
at least in the PyCharm case only the Pro version had GAE support, the Community Edition didn't
the GAE SDKs are no longer actively kept at par with the gcloud SDK, some newer GAE features aren't available through them, so YMMV.
I am building a RESTful API using Python 3.6, the Falcon Framework, Google App Engine, and Firebase Cloud Firestore. At runtime I am receiving the following error ...
File "E:\Bill\Documents\GitHubProjects\LetsHang-BackEnd\lib\google\cloud\firestore_v1beta1\_helpers.py", line 24, in <module> import grpc
File "E:\Bill\Documents\GitHubProjects\LetsHang-BackEnd\lib\grpc\__init__.py", line 22, in <module>
from grpc._cython import cygrpc as _cygrpc
ImportError: cannot import name cygrpc
When researching StackOverFlow, I found an article regarding an AWS Lambda deployment, but it suggests a solution based on Docker. Docker is not a viable solution for us. I also found an article off StackOverflow that suggests running "pip install grpcio". We did not without luck.
We build the App Engine dependencies using a requirements.txt file. This file has the following contents ...
falcon==1.4.1
google-api-python-client
google-cloud-firestore
firebase-admin
enum34
grpcio
We apply the requirements file using the command ...
pip install -t lib -r requirements.txt
The App Engine server is started with the command ...
dev_appserver.py .
The development environment is Windows 10.
You seem to be mixing up the GAE standard and flexible environments:
using Python 3.6 is only possible in the flexible environment (which, BTW, is fundamentally Docker-based)
installing app dependencies in the lib directory and using dev_appserver.py for local development are only applicable to the standard environment
Somehow related: How to tell if a Google App Engine documentation page applies to the standard or the flexible environment
Ok. I will write up my findings just in case there's another fool like me.
First, Dan's response is correct. I was mixing standard and flexible environments. I had looked up a method for using the Falcon Framework with App Engine; as it turns out, the only article uses the standard environment. So that's how I wound up using dev_appserver.py. My app, however, is Python 3.6 and has dependencies that prevent stepping down to 2.7.
To develop locally for the flexible environment, you simply need to run as you normally would. In the case of Falcon Framework, that means using the Waitress wsgi server.
I find that it is a good practice to build and use a Python virtual environment. You use the virtualenv command for that. At deployment time, Google builds a docker container for the app in the cloud. To reconstruct all the necessary Python packages, you have to supply a requirements.txt file. If you have a virtual environment, then the requirements file is easily produced using pip freeze.
I've used Google App Engine, and as far as I know the only way to update my application files on Google's servers is to use the App Engine SDK. And as far as I know the App Engine SDK is a Mac or Windows package, which is not portable (requires installation on the local machine).
I need a portable version, or another way to update my application files on Google's servers using a Mac. I found this https://code.google.com/p/appengine-portable/ which purports to offer portable versions for Windows, but not Mac.
Is there a way for me to use the App Engine SDK on Mac without installing?
Is there any alternative way for me to update my application files on Google's servers?
This is not where you looking for, but have a look at this post: http://googleappengine.blogspot.nl/2012/07/develop-in-cloud-with-exos-cloud-ide.html
I am only talking about the Python SDK here. You haven't said which .
Just use the linux SDK, and run that on Mac or Windows. I haven't used mac. But I do appengine development on Windows and Linux and have never used the Launcher. Just follow the directions for unix on windows. (Well change your file paths and slashes ;-)
The python SDK and dev server is all pure python.
The Windows and OS X packages are just the the SDK and the GUI launcher. As far as I know the SDK is pure Python and portable. Either use the SDK that comes with installer or download the SDK alone.
The linux version on the documentation download page contains only the SDK, or get it on the Google App Engine googlecode project (it will be called google_appengine_x.x.x.zip):
https://code.google.com/p/googleappengine/downloads/list
Simply download the SKD, extract it somewhere (on my Mac, I link it to /usr/local/google_appengine because some script like nosegae expects it there, but it's not necessary). The SDK doesn't need to be installed, doesn't need to be in path. You can run appcfg.py from the SDK directory or using the absolute path.
Below is the Makefile I am using to run and upload an app (with make serve and make upload):
PYTHON=$(shell pwd)/venv/bin/python
GAE=/usr/local/google_appengine
APPSERVER=${GAE}/dev_appserver.py
APPCFG=${GAE}/appcfg.py
PORT=8080
SRC=./src
.PHONY: serve upload test
serve:
open "http://localhost:${PORT}"
${PYTHON} ${APPSERVER} --port=${PORT} ${SRC}
upload:
${PYTHON} ${APPCFG} --oauth2 update ${BUILD}
test:
cd ${SRC}; ${PYTHON} runtest.py
Just trying to deploy a simple Jruby on rails app on Google App Engine but falling at first hurdle.
I've been following instructions on https://code.google.com/p/appengine-jruby/ and a few other websites. I've installed the gem 'google-appengine' as instructed and Command Prompt tells me that it's installed.
As I started typing require 'appengine-rack' in my config.ru, I can see that my IDE tells me it doesn't recognise this file. I fire up the local server anyway just as a test and it tells me that "LoadError: no such file to load -- appengine-rack".
I can clearly see in C:\jruby-1.7.3\lib\ruby\gems\shared\gems\appengine-rack-0.0.13\lib\ . So I'm a bit stumped. When I run >gem list, I can also see that this gem is there.
I'm doing this for the first time.
I'm using Windows 7. Jruby version 1.7.3. Rails 3.2.1.
Thanks in advance.
Looks like the project you are trying to use is rather old, (last commit date is Date: Mar 30, 2011). And it is written there that they are only planing to have a support of version 3.x.
Anyway here is the answer to your question(rather old too)
Unable to get google-appengine for Jruby to work
And this search could be helpful https://stackoverflow.com/questions/tagged/google-app-engine+ruby
From rational point of view it is not very good idea to use this gems for production. If you need cloud hosting for your ruby procejct heroku would be a solution.
If you require appengine - you better go Java, Python or Go which are officially supported.