mirror of
https://github.com/kennethreitz/heroku-buildpack-python.git
synced 2026-06-05 23:10:16 +00:00
ff223597f3
* fixed the bug for pypy-5.8.0 * changelog Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * python 2.7.14 Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * pipfile > requirements.txt Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * check for python_full_version too Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * 2.7.14 Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * warn when using an older version of python Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * requirements for anaconda buildpack Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * remove hashes for conda buildpack Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * improvements to pipenv python version detection Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * oops Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * oops Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * oops Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * echo not puts Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * try this Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * learn more Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * there we go Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * cleanups Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * cleanups Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * cleanups Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * unsupported Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * consistiency Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * be more specific Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * capitalize Pipfile.lock Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * attempt to force color Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * try this Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * try this Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * interactive Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * interactive Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * diagnose Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * try without -l Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * confirmed env working Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * just -c Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * use latest, to debug Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * no more bash Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * try … Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * don't use the git version of pipenv Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * oops Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * next version Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * 2.7.14 Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * comment out force color bits Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * readme Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * more tests Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * more tests Signed-off-by: Kenneth Reitz <me@kennethreitz.org> * ellipsis Signed-off-by: Kenneth Reitz <me@kennethreitz.org>
73 lines
2.3 KiB
Bash
Executable File
73 lines
2.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set +e
|
|
runtime-fixer runtime.txt
|
|
PYTHON_VERSION=$(cat runtime.txt)
|
|
|
|
if [[ $PYTHON_VERSION =~ ^python-2 ]]; then
|
|
if [[ "$PYTHON_VERSION" != "$LATEST_2" ]]; then
|
|
puts-warn "The latest version of Python 2 is $LATEST_2 (you are using $PYTHON_VERSION, which is unsupported)."
|
|
puts-warn "We recommend upgrading by specifying the latest version ($LATEST_2)."
|
|
echo " Learn More: https://devcenter.heroku.com/articles/python-runtimes"
|
|
fi
|
|
else
|
|
if [[ "$PYTHON_VERSION" != "$LATEST_3" ]]; then
|
|
puts-warn "The latest version of Python 3 is $LATEST_3 (you are using $PYTHON_VERSION, which is unsupported)."
|
|
puts-warn "We recommend upgrading by specifying the latest version ($LATEST_3)."
|
|
echo " Learn More: https://devcenter.heroku.com/articles/python-runtimes"
|
|
fi
|
|
|
|
fi
|
|
|
|
if [[ "$STACK" != "$CACHED_PYTHON_STACK" ]]; then
|
|
puts-step "Stack has changed from $CACHED_PYTHON_STACK to $STACK, clearing cache"
|
|
rm -fr .heroku/python-stack .heroku/python-version .heroku/python .heroku/vendor
|
|
fi
|
|
|
|
if [ -f .heroku/python-version ]; then
|
|
if [ ! "$(cat .heroku/python-version)" = "$PYTHON_VERSION" ]; then
|
|
puts-step "Found $(cat .heroku/python-version), removing"
|
|
rm -fr .heroku/python
|
|
else
|
|
SKIP_INSTALL=1
|
|
fi
|
|
fi
|
|
|
|
if [ ! "$SKIP_INSTALL" ]; then
|
|
puts-step "Installing $PYTHON_VERSION"
|
|
|
|
# Prepare destination directory.
|
|
mkdir -p .heroku/python
|
|
|
|
mcount "version.python.$PYTHON_VERSION"
|
|
|
|
if ! curl "https://lang-python.s3.amazonaws.com/$STACK/runtimes/$PYTHON_VERSION.tar.gz" -s | tar zxv -C .heroku/python &> /dev/null; then
|
|
puts-warn "Requested runtime ($PYTHON_VERSION) is not available for this stack ($STACK)."
|
|
puts-warn "Aborting. More info: https://devcenter.heroku.com/articles/python-support"
|
|
exit 1
|
|
fi
|
|
|
|
# Record for future reference.
|
|
echo "$PYTHON_VERSION" > .heroku/python-version
|
|
echo "$STACK" > .heroku/python-stack
|
|
FRESH_PYTHON=true
|
|
|
|
hash -r
|
|
fi
|
|
|
|
# If Pip isn't up to date:
|
|
if [ "$FRESH_PYTHON" ] || [[ ! $(pip --version) == *$PIP_UPDATE* ]]; then
|
|
|
|
puts-step "Installing pip"
|
|
|
|
# Remove old installations.
|
|
rm -fr /app/.heroku/python/lib/python2.7/site-packages/pip-*
|
|
rm -fr /app/.heroku/python/lib/python2.7/site-packages/setuptools-*
|
|
|
|
/app/.heroku/python/bin/python "$ROOT_DIR/vendor/get-pip.py" &> /dev/null
|
|
|
|
fi
|
|
|
|
set -e
|
|
hash -r
|