Skip to content
Snippets Groups Projects
Commit 4ded9889 authored by Kenneth Reitz's avatar Kenneth Reitz
Browse files

Merge remote-tracking branch 'origin/master'

parents 8637dc05 6f65ad0b
No related branches found
No related tags found
No related merge requests found
Heroku buildpack: Python Heroku buildpack: Python
======================== ========================
This is a [Heroku buildpack](http://devcenter.heroku.com/articles/buildpacks) for Python apps. This is a [Heroku buildpack](http://devcenter.heroku.com/articles/buildpacks) for Python apps, powered by [pip](http://www.pip-installer.org/).
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) [![Build Status](https://secure.travis-ci.org/heroku/heroku-buildpack-python.png?branch=master)](http://travis-ci.org/heroku/heroku-buildpack-python)
...@@ -18,14 +17,13 @@ Example usage: ...@@ -18,14 +17,13 @@ Example usage:
$ git push heroku master $ git push heroku master
... ...
-----> Heroku receiving push -----> Fetching custom git buildpack... done
-----> Fetching custom build pack... done
-----> Python app detected -----> Python app detected
-----> Preparing virtualenv version 1.6.4 -----> No runtime.txt provided; assuming python-2.7.3.
New python executable in ./bin/python -----> Preparing Python runtime (python-2.7.3)
Installing setuptools............done. -----> Installing Distribute (0.6.34)
Installing pip...............done. -----> Installing Pip (1.2.1)
-----> Installing dependencies using pip version 1.0.2 -----> Installing dependencies using Pip (1.2.1)
Downloading/unpacking Flask==0.7.2 (from -r requirements.txt (line 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 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)) Downloading/unpacking Jinja2>=2.4 (from Flask==0.7.2->-r requirements.txt (line 1))
...@@ -37,13 +35,20 @@ You can also add it to upcoming builds of an existing application: ...@@ -37,13 +35,20 @@ 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 $ 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. The buildpack will detect your app as Python if it has the file `requirements.txt` in the root.
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. It will use Pip to install your dependencies, vendoring a copy of the Python runtime into your slug.
Hacking Specify a Runtime
------- -----------------
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. You can also provide arbitrary releases Python with a `runtime.txt` file.
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. $ cat runtime.txt
python-3.3.0
Runtime options include:
- python-2.7.3
- python-3.3.0
- pypy-1.9 (experimental)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment