heroku-buildpack-python

by Unbabel

GitHub Readme.md

Heroku buildpack: Python

This is a Heroku buildpack for Python apps, powered by pip.

It also adds support to include precompiled versions of numpy/scipy/scikit-learn into the build. Since these use fortran libraries which cannot be compiled on Heroku, they must be copied before installing the pip dependencies.

Usage

Example usage:

$ ls
Procfile  requirements.txt  web.py

$ heroku create --buildpack git://github.com/Unbabel/heroku-buildpack-python.git

$ git push heroku master
...
-----> Python app detected
-----> No runtime.txt provided; assuming python-2.7.8.
-----> Preparing Python runtime (python-2.7.8)
-----> Installing Setuptools (3.6)
-----> Installing Pip (1.5.6)
-----> Installing dependencies using Pip (1.5.6)
       Downloading/unpacking requests (from -r requirements.txt (line 1))
       Installing collected packages: requests
       Successfully installed requests
       Cleaning up...
-----> Discovering process types
       Procfile declares types -> (none)

You can also add it to upcoming builds of an existing application:

$ heroku config:add BUILDPACK_URL=git://github.com/Unbabel/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.

Specify a Runtime

You can also provide arbitrary releases Python with a runtime.txt file.

$ cat runtime.txt
python-3.4.1

Runtime options include:

  • python-2.7.8
  • python-3.4.1
  • pypy-1.9 (experimental)

Other unsupported runtimes are available as well.