diff --git a/Readme.md b/Readme.md index 04a8047..ebdb847 100644 --- a/Readme.md +++ b/Readme.md @@ -1,8 +1,7 @@ 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/). +This is a [Heroku buildpack](http://devcenter.heroku.com/articles/buildpacks) for Python apps, powered by [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) @@ -18,14 +17,13 @@ Example usage: $ git push heroku master ... - -----> Heroku receiving push - -----> Fetching custom build pack... done + -----> Fetching custom git buildpack... 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 + -----> 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)) @@ -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 -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 ` 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)