@@ -2,29 +2,33 @@ resolve_link() {
22 $( type -p greadlink readlink | head -1) " $1 "
33}
44
5- if [ -n " ${DEFINITION} " ]; then
6- if [[ " ${DEFINITION} " != " ${DEFINITION%/ envs/* } " ]]; then
7- # Uninstall virtualenv by long name
8- exec pyenv-virtualenv-delete ${FORCE+-f} " ${DEFINITION} "
9- exit 128
10- else
11- VERSION_NAME=" ${VERSION_NAME:- ${DEFINITION##*/ } } "
12- PREFIX=" ${PREFIX:- ${PYENV_ROOT} / versions/ ${VERSION_NAME} } "
13- if [ -L " ${PREFIX} " ]; then
14- REAL_PREFIX=" $( resolve_link " ${PREFIX} " 2> /dev/null || true) "
15- REAL_DEFINITION=" ${REAL_PREFIX# ${PYENV_ROOT} / versions/ } "
16- if [[ " ${REAL_DEFINITION} " != " ${REAL_DEFINITION%/ envs/* } " ]]; then
17- # Uninstall virtualenv by short name
18- exec pyenv-virtualenv-delete ${FORCE+-f} " ${REAL_DEFINITION} "
19- exit 128
20- fi
5+ uninstall_related_virtual_env () {
6+ if [ -n " ${DEFINITION} " ]; then
7+ if [[ " ${DEFINITION} " != " ${DEFINITION%/ envs/* } " ]]; then
8+ # Uninstall virtualenv by long name
9+ exec pyenv-virtualenv-delete ${FORCE+-f} " ${DEFINITION} "
10+ exit 128
2111 else
22- # Uninstall all virtualenvs inside `envs` directory too
23- shopt -s nullglob
24- for virtualenv in " ${PREFIX} /envs/" * ; do
25- pyenv-virtualenv-delete ${FORCE+-f} " ${DEFINITION} /envs/${virtualenv##*/ } "
26- done
27- shopt -u nullglob
12+ VERSION_NAME=" ${VERSION_NAME:- ${DEFINITION##*/ } } "
13+ PREFIX=" ${PREFIX:- ${PYENV_ROOT} / versions/ ${VERSION_NAME} } "
14+ if [ -L " ${PREFIX} " ]; then
15+ REAL_PREFIX=" $( resolve_link " ${PREFIX} " 2> /dev/null || true) "
16+ REAL_DEFINITION=" ${REAL_PREFIX# ${PYENV_ROOT} / versions/ } "
17+ if [[ " ${REAL_DEFINITION} " != " ${REAL_DEFINITION%/ envs/* } " ]]; then
18+ # Uninstall virtualenv by short name
19+ exec pyenv-virtualenv-delete ${FORCE+-f} " ${REAL_DEFINITION} "
20+ exit 128
21+ fi
22+ else
23+ # Uninstall all virtualenvs inside `envs` directory too
24+ shopt -s nullglob
25+ for virtualenv in " ${PREFIX} /envs/" * ; do
26+ pyenv-virtualenv-delete ${FORCE+-f} " ${DEFINITION} /envs/${virtualenv##*/ } "
27+ done
28+ shopt -u nullglob
29+ fi
2830 fi
2931 fi
30- fi
32+ }
33+
34+ before_uninstall " uninstall_related_virtual_env"
0 commit comments