#!/usr/bin/env bash # # Summary: List all Python virtualenvs found in `$PYENV_ROOT/versions/*'. # # Usage: pyenv virtualenvs [--bare] # set -e [ -n "$PYENV_DEBUG" ] && set -x if [ -z "$PYENV_ROOT" ]; then PYENV_ROOT="${HOME}/.pyenv" fi unset BARE if [ "$1" = "--bare" ]; then BARE=true fi print_version() { local version="$1" if [ -n "${BARE}" ]; then echo "${version}" else echo "${version} (created from $(pyenv-virtualenv-prefix "${version}"))" fi } virtualenv_version() { local version="$1" local prefix="$(pyenv-prefix "${version}")" [ -f "${prefix}/bin/activate" ] && "${prefix}/bin/python" -c 'import sys;sys.real_prefix' 1>/dev/null 2>&1 } versions=($(pyenv-versions --bare)) for version in "${versions[@]}"; do if virtualenv_version "${version}"; then print_version "${version}" fi done