Files
heroku-buildpack-python/Readme.md
T
2013-01-02 22:16:37 -05:00

49 lines
2.1 KiB
Markdown

Heroku buildpack: Python
========================
This is a [Heroku buildpack](http://devcenter.heroku.com/articles/buildpacks) for Python apps.
It uses [virtualenv](http://www.virtualenv.org/) and [pip](http://www.pip-installer.org/).
[![Build Status](https://secure.travis-ci.org/heroku/heroku-buildpack-python.png?branch=master)](http://travis-ci.org/heroku/heroku-buildpack-python)
Usage
-----
Example usage:
$ 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.
Hacking
-------
To use this buildpack, fork it on Github. Push up changes to your fork, then create a test app with `--buildpack <your-github-url>` and push to it.
To change the vendored virtualenv, unpack the desired version to the `src/` folder, and update the virtualenv() function in `bin/compile` to prepend the virtualenv module directory to the path. The virtualenv release vendors its own versions of pip and setuptools.