Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Python buildpack
Shell Python Perl
Pull request Compare This branch is 187 commits ahead, 452 commits behind heroku:master.
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Heroku buildpack: Python

This is a Heroku buildpack for Python apps with Node.js, powered by pip and npm. Build Status


Example usage:

$ ls
Procfile  requirements.txt  packages.json

$ heroku create --stack cedar --buildpack 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...
-----> Resolving engine versions
       Using Node.js version: 0.10.3
       Using npm version: 1.2.15
-----> Fetching Node.js binaries
-----> Vendoring node into slug
-----> Installing dependencies with npm
       npm WARN package.json nordtun@0.0.2 No file found!
       npm http GET
       npm http 200
       npm http GET
       npm http 200
       npm http GET
       npm http 200
       npm http GET
       npm http 200
       less@1.3.3 node_modules/less
       ÔööÔöÇÔöÇ ycssmin@1.0.1
       npm WARN package.json nordtun@0.0.2 No file found!
       less@1.3.3 /tmp/build_2oes14d16al8r/node_modules/less
       ycssmin@1.0.1 /tmp/build_2oes14d16al8r/node_modules/less/node_modules/ycssmin
       Dependencies installed

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

$ heroku config:add BUILDPACK_URL=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.

This buildpack also checks for Node.js, for usage see:

Specify a Runtime

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

$ cat runtime.txt

Runtime options include:

  • python-2.7.4
  • python-3.3.1
  • pypy-1.9 (experimental)
Something went wrong with that request. Please try again.