mirror of
https://github.com/kennethreitz/heroku-buildpack-python.git
synced 2026-06-05 23:10:16 +00:00
78767e7199
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.
22 lines
597 B
Bash
Executable File
22 lines
597 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Build Path: /app/.heroku/python/
|
|
# Build Deps: libraries/sqlite
|
|
|
|
OUT_PREFIX=$1
|
|
|
|
echo "Building Python..."
|
|
SOURCE_TARBALL='https://python.org/ftp/python/3.6.2/Python-3.6.2.tgz'
|
|
curl -L $SOURCE_TARBALL | tar xz
|
|
mv Python-3.6.2 src
|
|
cd src
|
|
|
|
./configure --prefix=$OUT_PREFIX --with-ensurepip=no
|
|
make
|
|
make install
|
|
|
|
# Remove unneeded test directories, similar to the official Docker Python images:
|
|
# https://github.com/docker-library/python
|
|
find "${OUT_PREFIX}" \( -type d -a \( -name test -o -name tests \) \) -exec rm -rf '{}' +
|
|
|
|
ln $OUT_PREFIX/bin/python3 $OUT_PREFIX/bin/python
|