This buildpack enables you to compile Numpy, Scipy, scikit-lern etc on Heroku.
! I recommends you to use
conda-buildpack. Because of compile timeout issue (see below).
$ heroku config:add BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-multi.git
(You can set buildpack when creating the app. please see the official document.)
.buildpacks for heroku-buildpack-multi as below.
Aptfile for heroku-buildpack-apt as below.
build-essential gfortran libgfortran3 python-dev libblas-dev libatlas-base-dev cython
Aptfile to your application root, then push to heroku.
Scipy takes long time to compile. So Numpy, Scipy, scikit-learn at once will cause compile timeout on Heroku.
To avoid it, exclude scikit-learn from your
requirements.txt on first push, after that restore it and push again.
$ ls Procfile requirements.txt web.py $ heroku create --buildpack git://github.com/heroku/heroku-buildpack-python.git $ git push heroku master ... -----> Python app detected -----> Installing runtime (python-2.7.9) -----> Installing dependencies using pip 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/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 use Pip to install your dependencies, vendoring a copy of the Python runtime into your slug.
You can also provide arbitrary releases Python with a
$ cat runtime.txt python-3.4.3
Runtime options include:
Other unsupported runtimes are available as well.
Copy the snippet above into CLI.