Kenneth Reitz 662a311f95 v9
2012-05-30 17:32:16 -04:00
2012-05-30 17:31:03 -04:00
2012-04-30 13:53:05 -04:00
2012-03-23 19:17:00 -04:00
2012-03-23 16:13:35 -04:00
2012-05-23 13:25:08 -04:00
v9
2012-05-30 17:32:16 -04:00
2012-02-13 15:08:44 -05:00
2012-04-26 14:03:30 -04:00
2012-05-30 05:07:37 -03:00

Heroku buildpack: Python

This is a Heroku buildpack for Python apps. It uses virtualenv and pip.

Build Status

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
...
-----> Heroku receiving push
-----> Fetching custom build pack... done
-----> Python app detected
-----> Preparing virtualenv version 1.6.4
       New python executable in ./bin/python
       Installing setuptools............done.
       Installing pip...............done.
-----> Installing dependencies using pip version 1.0.2
       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 detect your app as Python/Django if there is an additional settings.py in a project subdirectory.

It will use virtualenv and pip to install your dependencies, vendoring a copy of the Python runtime into your slug. The bin/, include/ and lib/ directories will be cached between builds to allow for faster pip install time.

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.

S
Description
No description provided
Readme MIT 56 MiB
Languages
Shell 92.5%
Ruby 4%
Makefile 2.2%
Dockerfile 1.3%