mirror of
https://github.com/kennethreitz/heroku-buildpack-python.git
synced 2026-06-05 23:10:16 +00:00
51 lines
2.2 KiB
Plaintext
Executable File
51 lines
2.2 KiB
Plaintext
Executable File
# Install dependencies with Pip.
|
|
puts-cmd "pip install -r requirements.txt"
|
|
|
|
set +e
|
|
# rewrite any existing egg links to point to the build dir so pip does not fail with a mismatch error
|
|
find .heroku/python/lib/python*/site-packages/ -name "*.egg-link" -print0 2> /dev/null | xargs -r -0 -n 1 sed -i -e "s#/app/#$(pwd)/#" &> /dev/null
|
|
find .heroku/python/lib/python*/site-packages/ -name "*.pth" -print0 2> /dev/null | xargs -r -0 -n 1 sed -i -e "s#/app/#/$(pwd)/#" &> /dev/null
|
|
set -e
|
|
|
|
set +e
|
|
# Support for PyPy
|
|
find .heroku/python/lib-python/*/site-packages/ -name "*.egg-link" -print0 2> /dev/null | xargs -r -0 -n 1 sed -i -e "s#/app/#$(pwd)/#" &> /dev/null
|
|
find .heroku/python/lib-python/*/site-packages/ -name "*.pth" -print0 2> /dev/null | xargs -r -0 -n 1 sed -i -e "s#/app/#/$(pwd)/#" &> /dev/null
|
|
set -e
|
|
|
|
[ ! "$FRESH_PYTHON" ] && bpwatch start pip_install
|
|
[ "$FRESH_PYTHON" ] && bpwatch start pip_install_first
|
|
|
|
set +e
|
|
/app/.heroku/python/bin/pip install -r $BUILD_DIR/requirements.txt --exists-action=w --src=/app/.heroku/src --disable-pip-version-check --no-cache-dir 2>&1 | tee $WARNINGS_LOG | cleanup | indent
|
|
PIP_STATUS="${PIPESTATUS[0]}"
|
|
set -e
|
|
|
|
show-warnings
|
|
|
|
if [[ ! $PIP_STATUS -eq 0 ]]; then
|
|
exit 1
|
|
fi
|
|
|
|
|
|
# Smart Requirements handling
|
|
cp requirements.txt .heroku/python/requirements-declared.txt
|
|
/app/.heroku/python/bin/pip freeze --disable-pip-version-check > .heroku/python/requirements-installed.txt
|
|
|
|
[ ! "$FRESH_PYTHON" ] && bpwatch stop pip_install
|
|
[ "$FRESH_PYTHON" ] && bpwatch stop pip_install_first
|
|
|
|
set +e
|
|
# rewrite build dir in egg links to /app so things are found at runtime
|
|
find .heroku/python/lib/python*/site-packages/ -name "*.egg-link" -print0 2> /dev/null | xargs -r -0 -n 1 sed -i -e "s#$(pwd)/#/app/#" &> /dev/null
|
|
find .heroku/python/lib/python*/site-packages/ -name "*.pth" -print0 2> /dev/null | xargs -r -0 -n 1 sed -i -e "s#$(pwd)/#/app/#" &> /dev/null
|
|
set -e
|
|
|
|
set +e
|
|
# Support for PyPy
|
|
find .heroku/python/lib-python/*/site-packages/ -name "*.egg-link" -print0 2> /dev/null | xargs -r -0 -n 1 sed -i -e "s#$(pwd)/#/app/#" &> /dev/null
|
|
find .heroku/python/lib-python/*/site-packages/ -name "*.pth" -print0 2> /dev/null | xargs -r -0 -n 1 sed -i -e "s#$(pwd)/#/app/#" &> /dev/null
|
|
set -e
|
|
|
|
echo
|