@@ -2,29 +2,33 @@ resolve_link() {
2
2
$( type -p greadlink readlink | head -1) " $1 "
3
3
}
4
4
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
21
11
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
28
30
fi
29
31
fi
30
- fi
32
+ }
33
+
34
+ before_uninstall " uninstall_related_virtual_env"
0 commit comments