I'll explain briefly how you start a new project and there's a nice clean copy of the code at the bottom that you can cut and paste.
Let's get the show on the road. Choose a name for the project and create and switch to a virtual environment:
PROJ=py27_gae_project mkvirtualenv ${PROJ} cdvirtualenvNote that note that "--no-site-packages" and "--distribute" are now the defaults for mkvirtualenv. You don't even need to use "--python=python2.7" on Ubuntu 12.04.
Now we need to know what the latest version of App Engine is, but as of writing it's 1.6.5:
GAE=1.6.5 wget -O /tmp/gae.zip http://googleappengine.googlecode.com/files/google_appengine_${GAE}.zip unzip /tmp/gae.zip
Now let's create an App Engine app. The app will need a name that has been created in the App Engine Console:
GAE_APP_NAME=dummy mkdir -p gae_app/staticNow create the app.yaml file:
echo """application: ${GAE_APP_NAME} version: development runtime: python27 api_version: 1 threadsafe: true default_expiration: 7d handlers: - url: /static static_dir: static - url: .* script: wsgi_app.app """ > gae_app/app.yaml
And finally the app itself:
echo """import webapp2 class MainPage(webapp2.RequestHandler): def get(self): self.response.headers['Content-Type'] = 'text/plain' self.response.out.write('Please replace me with a decent WSGI App Framework such as Flask') app = webapp2.WSGIApplication([('/', MainPage)], debug=True) """ > gae_app/wsgi_app.py
And finally to run the development server:
python ./google_appengine/dev_appserver.py gae_app/
I hope that this has all been of some help to you. Did I miss anything? Please comment below.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
PROJ=py27_gae_project | |
mkvirtualenv --python=python2.7 ${PROJ} | |
cdvirtualenv | |
GAE=1.6.5 | |
wget -O /tmp/gae.zip http://googleappengine.googlecode.com/files/google_appengine_${GAE}.zip | |
unzip /tmp/gae.zip | |
GAE_APP_NAME=dummy | |
mkdir -p gae_app/static | |
echo """application: ${GAE_APP_NAME} | |
version: development | |
runtime: python27 | |
api_version: 1 | |
threadsafe: true | |
default_expiration: 7d | |
handlers: | |
- url: /static | |
static_dir: static | |
- url: .* | |
script: wsgi_app.app | |
""" > gae_app/app.yaml | |
echo """import webapp2 | |
class MainPage(webapp2.RequestHandler): | |
def get(self): | |
self.response.headers['Content-Type'] = 'text/plain' | |
self.response.out.write('Please replace me with a decent WSGI App Framework such as Flask') | |
app = webapp2.WSGIApplication([('/', MainPage)], | |
debug=True) | |
""" > gae_app/wsgi_app.py | |
python ./google_appengine/dev_appserver.py gae_app/ |
Link to 'the latest version of App Engine' seems broken.
ReplyDeleteThanks. Fixed now.
ReplyDeleteApparently, GAE is at 1.7 now.
ReplyDeletehttp://googleappengine.googlecode.com/files/google_appengine_1.7.0.zip
Here's what I did on Ubuntu 12.04 Precise Pangolin:
ReplyDeletesudo apt-get install python-pip python-virtualenv virtualenvwrapper
# log out and in to make virtualenv active for your shell
# then follow the rest of Terse's instructions, except for a newer version of GAE.
I don't get it. I'm a complete noob here so bear with me. I followed Terse's instruction and I failed on the first step.
ReplyDeleteThis is what I got:
mkvirtualenv: command not found
Then I tried Ace Suares's and so far I got until this far:
qoyyuum@qoyyuum-desktop:~$ sudo apt-get install python-pip python virtualenv virtualenvwrapper
[sudo] password for qoyyuum:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package virtualenv
Why did that happen?
I know it's a bit confusing, but try using apt-get to install pip and then use pip to install the rest at system wide level:
ReplyDeletesudo apt-get install python-pip
sudo pip install virtualenv
sudo pip install virtualenvwrapper