#!/bin/bash # Usage: script/bootstrap # Ensures all dependencies are installed locally. set -e cd "$(dirname "$0")"/.. ROOT=$(pwd) if [ -z "$VENV_NAME" ]; then VENV_NAME="env" fi if [ ! -d "$VENV_NAME" ]; then if [ -z "$VENV_PYTHON" ]; then VENV_PYTHON=$(command -v python3) fi "$VENV_PYTHON" -m venv "$VENV_NAME" fi . "$VENV_NAME/bin/activate" # We're in the venv now, so use the first Python in $PATH. In particular, don't # use $VENV_PYTHON - that's the Python that *created* the venv, not the python # *inside* the venv python -m pip install -U 'pip>=10.0.1' python -m pip install -r requirements.txt if [ "$ENV" != "production" ]; then python -m pip install -r requirements-dev.txt fi if [ ! -L ".git/hooks/pre-commit" ]; then ln -s "$ROOT/.git_hooks_pre-commit" ".git/hooks/pre-commit" fi echo "" echo "Run source env/bin/activate to get your shell in to the virtualenv" echo "See README.md for more information." echo ""