mirror of
https://github.com/pyenv/pyenv-virtualenv.git
synced 2025-11-09 12:03:55 -05:00
Uninstall all virtualenvs inside envs on the uninstallation of the parent version
This commit is contained in:
@@ -4,6 +4,7 @@ resolve_link() {
|
|||||||
|
|
||||||
if [ -n "${DEFINITION}" ]; then
|
if [ -n "${DEFINITION}" ]; then
|
||||||
if [[ "${DEFINITION}" != "${DEFINITION%/envs/*}" ]]; then
|
if [[ "${DEFINITION}" != "${DEFINITION%/envs/*}" ]]; then
|
||||||
|
# Uninstall virtualenv by long name
|
||||||
exec pyenv-virtualenv-delete ${FORCE+-f} "${DEFINITION}"
|
exec pyenv-virtualenv-delete ${FORCE+-f} "${DEFINITION}"
|
||||||
exit 128
|
exit 128
|
||||||
else
|
else
|
||||||
@@ -13,9 +14,17 @@ if [ -n "${DEFINITION}" ]; then
|
|||||||
REAL_PREFIX="$(resolve_link "${PREFIX}" 2>/dev/null || true)"
|
REAL_PREFIX="$(resolve_link "${PREFIX}" 2>/dev/null || true)"
|
||||||
REAL_DEFINITION="${REAL_PREFIX#${PYENV_ROOT}/versions/}"
|
REAL_DEFINITION="${REAL_PREFIX#${PYENV_ROOT}/versions/}"
|
||||||
if [[ "${REAL_DEFINITION}" != "${REAL_DEFINITION%/envs/*}" ]]; then
|
if [[ "${REAL_DEFINITION}" != "${REAL_DEFINITION%/envs/*}" ]]; then
|
||||||
|
# Uninstall virtualenv by short name
|
||||||
exec pyenv-virtualenv-delete ${FORCE+-f} "${REAL_DEFINITION}"
|
exec pyenv-virtualenv-delete ${FORCE+-f} "${REAL_DEFINITION}"
|
||||||
exit 128
|
exit 128
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
# Uninstall all virtualenvs inside `envs` directory too
|
||||||
|
shopt -s nullglob
|
||||||
|
for virtualenv in "${PREFIX}/envs/"*; do
|
||||||
|
pyenv-virtualenv-delete ${FORCE+-f} "${DEFINITION}/envs/${virtualenv##*/}"
|
||||||
|
done
|
||||||
|
shopt -u nullglob
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user