Can't import Flask while using Google App Engine

flask, google-app-engine, python

Solution

Working a bit with GAE and Flask I have realized this:

Running directly with Python

To run the app with python directly (`python app.py`) you need have the dependents packages installed in your environment using the command: `pip install flask`

Running with dev_appserver.py

To run the app with the dev_appserver.py provided by GAE SDK you need have all dependent packages inside your project, as: Flask, jinja2... Look in my another answer a example how to configure this packages : https://stackoverflow.com/a/14248647/1050818

UPDATED

Running Python, Virtualenv, Flask and GAE on Windows

Install Python

- Install Python http://www.python.org/ftp/python/2.7.2/python-2.7.2.msi

- Click in Windows Start button and search by "Edit the system environment" and open

- Go to the tab Advanced and click on button "Environment Variables…"

- When the Environment Variables window opens, choose Path from the System variables list and click Edit…

- Add this `;C:\Python27;C:\Python27\Scripts` at the end of the value and save

Install setuptools MS Windows installer (Necessary to install PIP on Windows)

- Choose the correct installer for you in this page http://pypi.python.org/pypi/setuptools#files( I used this one: http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11.win32-py2.7.exe#md5=57e1e64f6b7c7f1d2eddfc9746bbaf20)

- Download the installar and Install that

Install PIP

- Download PIP http://pypi.python.org/pypi/pip#downloads

- Extract it to any folder

- From that directory, type `python setup.py install`

Install Virtualenv

- Execute `pip install virtualenv`

- Execute this `mkdir c:\virtualenvs` to create a folder to the Virtual Envs

- Execute this `cd c:\virtualenvs` to access that folder

- Execute `virtualenv flaskdemo` to create a virtualenv for you project

- Active the virtualenv `c:\virtualenvs\flaskdemo\scripts\activate`

Install Google App Engine SDK

- Install the SDK https://developers.google.com/appengine/downloads

Create the project

- Create a directory for your project

- Create the main of your application https://github.com/maxcnunes/flaskgaedemo/blob/master/main.py

- Create the configuration of your appliction for Google App Engine https://github.com/maxcnunes/flaskgaedemo/blob/master/app.yaml

- Create a file to let GAE initialize your application https://github.com/maxcnunes/flaskgaedemo/blob/master/initialize_gae.py

(Look a example of the code here: https://github.com/maxcnunes/flaskgaedemo )

Install Flask to run Locally

- Execute `pip install flask`

Install Flask to run on the GAE

- Download Flask https://github.com/mitsuhiko/flask/archive/0.9.zip and extract the folder flask inside your project

- Download Werkzeug https://github.com/mitsuhiko/werkzeug/archive/0.8.3.zip and extract the folder werkzeug inside your project

- Download Jinja2 https://github.com/mitsuhiko/jinja2/archive/2.6.zip and extract the folder jinja2 inside your project

- Download Simple Json https://github.com/simplejson/simplejson/archive/v3.0.5.zip and extract the folder simplejson inside your project

Running the application with GAE SDK

- Open Google App Engine Launcher

- Add a new application

- Run the application

- Click in Browse button to open your application on browser

- Finally click on Deploy button to deploy your application

Problem

I'm following this guide and trying to develop a Flask app to run on the Google App Engine. I followed the guide to the letter but when I launch the dev app server from the Launcher and go to http://localhost:8080/, I get a HTTP 500 error. I check the logs and it says `No module named flask`. Then I check the interactive console in the admin console by running `import flask` and I get the same error message. I can import flask in any other python file without error. Is there a way to fix this?

Original source