#!/bin/sh PYTHON_VERSION=3.8.2 DOTS=$(dirname "$0")/.. cd "$DOTS" || (echo "Directory not found: $DOTS"; exit 1) DOTS="$PWD" check_for_pyenv() { if ! (which pyenv > /dev/null) then echo "" echo "pyenv not found" if ! (/usr/local/bin/brew list | grep pyenv > /dev/null) then echo "pyenv not installed, run: bootstrap" echo "" else echo "pyenv is installed, run: setup_symlinks (and restart)" echo "" fi exit 1 fi echo "pyenv ✓" } setup_python() { /usr/local/bin/pyenv install $PYTHON_VERSION --skip-existing /usr/local/bin/pyenv global $PYTHON_VERSION echo "python $PYTHON_VERSION ✓" } setup_python_envs() { for dir in "$DOTS"/python/*/ do dir=${dir%*/} envname=$(basename "$dir") if ! (/usr/local/bin/pyenv versions | grep -w "$envname" > /dev/null) then /usr/local/bin/pyenv virtualenv "$PYTHON_VERSION" "$envname" > /dev/null fi # shellcheck source=/dev/null . "$HOME/.pyenv/versions/$envname/bin/activate" pip install --upgrade pip > /dev/null pip install -r "$dir/requirements.txt" > /dev/null deactivate echo " - venv: $envname ✓" done } check_for_pyenv setup_python setup_python_envs