#!/usr/bin/env bash set -e [ -n "$PYENV_DEBUG" ] && set -x # Provide pyenv completions if [ "$1" = "--complete" ]; then exec pyenv versions --bare fi if [ -z "$PYENV_ROOT" ]; then PYENV_ROOT="${HOME}/.pyenv" fi # Load shared library functions eval "$(python-virtualenv --lib)" usage() { { echo "usage: pyenv virtualenv [-v|--verbose] [VIRTUALENV_OPTIONS] PYTHON_VERSION NAME" echo echo " -v/--verbose Verbose mode: print compilation status to stdout" echo } >&2 [ -z "$1" ] || exit "$1" } unset VERBOSE VIRTUALENV_OPTIONS=() parse_options "$@" for option in "${OPTIONS[@]}"; do case "$option" in "h" | "help" ) usage 0 ;; "v" | "verbose" ) VERBOSE="-v" ;; "version" ) exec python-virtualenv --version ;; * ) VIRTUALENV_OPTIONS[${#VIRTUALENV_OPTIONS[*]}]="--$option" ;; esac done VERSION_NAME="${ARGUMENTS[0]}" [ -n "$VERSION_NAME" ] || usage 1 for script in $(pyenv-hooks virtualenv); do source "$script" done PYTHON_PREFIX="${PYENV_ROOT}/versions/${VERSION_NAME}" VIRTUALENV_NAME="${ARGUMENTS[1]##*/}" VIRTUALENV_PATH="${PYENV_ROOT}/versions/${VIRTUALENV_NAME}" python-virtualenv $VERBOSE "${VIRTUALENV_OPTIONS[@]}" "$PYTHON_PREFIX" "$VIRTUALENV_PATH" pyenv rehash