Skip to content
Snippets Groups Projects
pip-install 1.19 KiB
#!/usr/bin/env bash

# shellcheck source=bin/utils
source $BIN_DIR/utils

if [ ! "$SKIP_PIP_INSTALL" ]; then

    # Install dependencies with Pip.
    puts-step "Installing requirements with pip"

    set +e
    
    # Measure that we're using pip.
    mcount "tool.pip"

    /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

    echo
    
    # Install test dependencies, for CI. 
    if [ "$INSTALL_TEST" ]; then
        if [[ -f "$1/requirements-test.txt" ]]; then
            puts-step "Installing test dependencies…"
            /app/.heroku/python/bin/pip install -r "$1/requirements-test.txt" --exists-action=w --src=./.heroku/src --disable-pip-version-check --no-cache-dir 2>&1 | cleanup | indent
        fi
    fi
fi