Files
heroku-buildpack-python/builds
Ed Morley 78767e7199 Exclude Python's test suite from generated Python archives (#425)
This copies the official Docker Python images approach of stripping
the Python test suite after building from source.

For Python 3.6.2 this reduces the output from 184MB to 121MB and
removes the following directories:
```
.heroku/python/lib/python3.6/tkinter/test
.heroku/python/lib/python3.6/ctypes/test
.heroku/python/lib/python3.6/unittest/test
.heroku/python/lib/python3.6/distutils/tests
.heroku/python/lib/python3.6/sqlite3/test
.heroku/python/lib/python3.6/lib2to3/tests
.heroku/python/lib/python3.6/test
```

For Python 2.7.13 this reduces the output from 127MB to 91MB and
removes the following directories:
```
.heroku/python/lib/python2.7/ctypes/test
.heroku/python/lib/python2.7/unittest/test
.heroku/python/lib/python2.7/distutils/tests
.heroku/python/lib/python2.7/bsddb/test
.heroku/python/lib/python2.7/lib-tk/test
.heroku/python/lib/python2.7/sqlite3/test
.heroku/python/lib/python2.7/lib2to3/tests
.heroku/python/lib/python2.7/json/tests
.heroku/python/lib/python2.7/email/test
.heroku/python/lib/python2.7/test
```

Fixes #424.
2017-07-17 13:00:47 -04:00
..
2017-02-23 11:15:39 -05:00

Python Buildpack Binaries

For Cedar-14 stack

To get started with it, create an app on Heroku inside a clone of this repository, and set your S3 config vars:

$ heroku create --buildpack https://github.com/heroku/heroku-buildpack-python#not-heroku
$ heroku config:set WORKSPACE_DIR=builds
$ heroku config:set AWS_ACCESS_KEY_ID=<your_aws_key>
$ heroku config:set AWS_SECRET_ACCESS_KEY=<your_aws_secret>
$ heroku config:set S3_BUCKET=<your_s3_bucket_name>

Then, shell into an instance and run a build by giving the name of the formula inside builds:

$ heroku run bash
Running `bash` attached to terminal... up, run.6880
~ $ bob build runtimes/python-2.7.6

Fetching dependencies... found 2:
  - libraries/sqlite

Building formula runtimes/python-2.7.6:
    === Building Python 2.7.6
    Fetching Python v2.7.6 source...
    Compiling...

If this works, run bob deploy instead of bob build to have the result uploaded to S3 for you.

To speed things up drastically, it'll usually be a good idea to heroku run bash --size PX instead.

For Heroku-16 stack

  1. Ensure GNU Make and Docker are installed.
  2. From the root of the buildpack repository, run: make buildenv-heroku-16
  3. Follow the instructions displayed!

Enjoy :)