48 lines
1.2 KiB
Bash
Executable file
48 lines
1.2 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
: "${PIP_INSTALL=install}"
|
|
: "${PIP_VERSION=pip}"
|
|
|
|
# Directory of *this* script
|
|
this_dir="$( cd "$( dirname "$0" )" && pwd )"
|
|
src_dir="$(realpath "${this_dir}/..")"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
venv="${src_dir}/.venv"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
: "${PYTHON=python3}"
|
|
|
|
python_version="$(${PYTHON} --version)"
|
|
|
|
# Create virtual environment
|
|
echo "Creating virtual environment at ${venv} (${python_version})"
|
|
rm -rf "${venv}"
|
|
"${PYTHON}" -m venv "${venv}"
|
|
source "${venv}/bin/activate"
|
|
|
|
# Install Python dependencies
|
|
echo 'Installing Python dependencies'
|
|
pip3 ${PIP_INSTALL} --upgrade "${PIP_VERSION}"
|
|
pip3 ${PIP_INSTALL} --upgrade wheel setuptools
|
|
|
|
if [[ -n "${PIP_PREINSTALL_PACKAGES}" ]]; then
|
|
pip3 ${PIP_INSTALL} ${PIP_PREINSTALL_PACKAGES}
|
|
fi
|
|
|
|
if [[ -f requirements.txt ]]; then
|
|
pip3 ${PIP_INSTALL} -r requirements.txt
|
|
fi
|
|
|
|
|
|
# Development dependencies
|
|
if [[ -f requirements_dev.txt ]]; then
|
|
pip3 ${PIP_INSTALL} -r requirements_dev.txt || echo "Failed to install development dependencies" >&2
|
|
fi
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
echo "OK"
|