I have created a simple GAE app based on the default template. I want to add an external module like short_url. How do I do this? The directions that I have found so far are confusing and GAE doesn’t seem to use PYTHONPATH for obvious reasons I guess.
Share
Simply place the
short_url.pyfile in your app’s directory.Sample App Engine project:
myapp/ app.yaml index.yaml main.py short_url.py views.pyAnd in
views.py(or wherever), you can then import like so:For more complex projects, perhaps a better method is to create a directory especially for dependencies; say
lib:myapp/ lib/ __init__.py short_url.py app.yaml index.yaml main.py views.pyEdit #2:
Apologies, I should have mentioned this earlier. You need modify your path, thanks to Nick Johnson for the following fix.
Ensure that this code is run before starting up your app; something like this:
Edit3:
To get this code to run before all other imports, you can put the path managing code in a file of its own in your app’s base directory (Python recognizes everything in that directory without any path modifications).
And then you’d just ensure that this import
…is listed before all other imports in your
main.pyfile.Here’s a link to full, working example in case my explanation wasn’t clear.