This is a Heroku buildpack for GeoDjango apps. It extends the original Python buildpack by adding GEOS, Proj.4 and GDAL, per the GeoDjango installation instructions.
This buildpack assumes your PostGIS server lives outside the Heroku stack, though we'd love to see it forked to handle any setup for Heroku's Postgres services.
This is a Heroku buildpack for Python apps, powered by pip.
Example usage:
$ heroku create --stack cedar --buildpack http://github.com/cirlabs/heroku-buildpack-geodjango/
$ git push heroku master
...
-----> Heroku receiving push
-----> Fetching custom buildpack... done
-----> Python app detected
-----> Fetching and installing GEOS 3.3.2
-----> Installing ...
GEOS installed
-----> Fetching and installing Proj.4 4.7.0
-----> Installing ...
Proj.4 installed
-----> Fetching and installing GDAL 1.8.1
-----> Installing ...
GDAL installed
-----> Preparing virtualenv version 1.7
... etc.
All libraries are stored in /app/.github.
IMPORTANT: You will need to set two Django settings in order for GEOS and GDAL to work properly!
GEOS_LIBRARY_PATH = '/app/.geodjango/geos/lib/libgeos_c.so'
GDAL_LIBRARY_PATH = '/app/.geodjango/gdal/lib/libgdal.so' $ ls Procfile requirements.txt web.py
$ heroku create --stack cedar --buildpack git://github.com/heroku/heroku-buildpack-python.git
$ git push heroku master
...
-----> Fetching custom git buildpack... done
-----> Python app detected
-----> No runtime.txt provided; assuming python-2.7.3.
-----> Preparing Python runtime (python-2.7.3)
-----> Installing Distribute (0.6.34)
-----> Installing Pip (1.2.1)
-----> Installing dependencies using Pip (1.2.1)
Downloading/unpacking Flask==0.7.2 (from -r requirements.txt (line 1))
Downloading/unpacking Werkzeug>=0.6.1 (from Flask==0.7.2->-r requirements.txt (line 1))
Downloading/unpacking Jinja2>=2.4 (from Flask==0.7.2->-r requirements.txt (line 1))
Installing collected packages: Flask, Werkzeug, Jinja2
Successfully installed Flask Werkzeug Jinja2
Cleaning up...
You can also add it to upcoming builds of an existing application:
$ heroku config:add BUILDPACK_URL=git://github.com/heroku/heroku-buildpack-python.git
The buildpack will detect your app as Python if it has the file requirements.txt
in the root.
It will use Pip to install your dependencies, vendoring a copy of the Python runtime into your slug.
You can also provide arbitrary releases Python with a runtime.txt
file.
$ cat runtime.txt
python-3.3.0
Runtime options include:
- python-2.7.4
- python-3.3.1
- pypy-1.9 (experimental)