layout_virtualenv() { local venv_path="$1" source ${venv_path}/bin/activate } layout_virtualenvwrapper() { local venv_path="${WORKON_HOME}/$1" layout_virtualenv $venv_path } layout_poetry() { if [[ ! -f pyproject.toml ]]; then log_error 'No pyproject.toml found. Use `poetry new` or `poetry init` to create one first.' exit 2 fi local VENV=$(dirname $(poetry run which python)) export VIRTUAL_ENV=$(echo "$VENV" | rev | cut -d'/' -f2- | rev) export POETRY_ACTIVE=1 PATH_add "$VENV" }