mirror of
https://github.com/pyenv/pyenv-virtualenv.git
synced 2025-11-11 13:03:52 -05:00
Skip creating $(pyenv root)/versions/system/envs/ directory for virtualenv from system
This commit is contained in:
@@ -273,7 +273,7 @@ if [ -z "${VERSION_NAME}" ] || [ -z "${VIRTUALENV_NAME}" ]; then
|
|||||||
usage 1
|
usage 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$VIRTUALENV_NAME" == "system" ]]; then
|
if [[ "${VIRTUALENV_NAME##*/}" == "system" ]]; then
|
||||||
echo "pyenv-virtualenv: \`system' is not allowed as virtualenv name." 1>&2
|
echo "pyenv-virtualenv: \`system' is not allowed as virtualenv name." 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@@ -303,12 +303,23 @@ else
|
|||||||
TMP="${TMPDIR%/}"
|
TMP="${TMPDIR%/}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
VIRTUALENV_PATH="${PYENV_ROOT}/versions/${VERSION_NAME}/envs/${VIRTUALENV_NAME}"
|
# Not create `system/envs` directory even if source version is `system`
|
||||||
|
if [[ "${VERSION_NAME%/envs/*}" == "system" ]]; then
|
||||||
|
VERSION_NAME="${VIRTUALENV_NAME}"
|
||||||
|
else
|
||||||
|
VERSION_NAME="${VERSION_NAME}/envs/${VIRTUALENV_NAME}"
|
||||||
|
fi
|
||||||
|
|
||||||
COMPAT_VIRTUALENV_PATH="${PYENV_ROOT}/versions/${VIRTUALENV_NAME}"
|
VIRTUALENV_PATH="${PYENV_ROOT}/versions/${VERSION_NAME}"
|
||||||
if [ -e "${COMPAT_VIRTUALENV_PATH}" ] || [ -L "${COMPAT_VIRTUALENV_PATH}" ]; then
|
if [[ "${VIRTUALENV_PATH}" != "${VIRTUALENV_PATH%/envs/*}" ]]; then
|
||||||
echo "pyenv-virtualenv: \`${COMPAT_VIRTUALENV_PATH}' already exists." 1>&2
|
COMPAT_VIRTUALENV_PATH="${PYENV_ROOT}/versions/${VIRTUALENV_NAME}"
|
||||||
exit 1
|
fi
|
||||||
|
|
||||||
|
if [ -n "${COMPAT_VIRTUALENV_PATH}" ]; then
|
||||||
|
if [ -e "${COMPAT_VIRTUALENV_PATH}" ] || [ -L "${COMPAT_VIRTUALENV_PATH}" ]; then
|
||||||
|
echo "pyenv-virtualenv: \`${COMPAT_VIRTUALENV_PATH}' already exists." 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
unset HAS_VIRTUALENV
|
unset HAS_VIRTUALENV
|
||||||
@@ -416,7 +427,7 @@ if [ -d "${VIRTUALENV_PATH}/bin" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "$UPGRADE" ]; then
|
if [ -n "$UPGRADE" ]; then
|
||||||
PYENV_VERSION="${VERSION_NAME}/envs/${VIRTUALENV_NAME}" prepare_requirements
|
PYENV_VERSION="${VERSION_NAME}" prepare_requirements
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -439,15 +450,15 @@ cd "${PYENV_VIRTUALENV_CACHE_PATH}"
|
|||||||
venv $QUIET $VERBOSE "${VIRTUALENV_OPTIONS[@]}" "${VIRTUALENV_PATH}" || STATUS="$?"
|
venv $QUIET $VERBOSE "${VIRTUALENV_OPTIONS[@]}" "${VIRTUALENV_PATH}" || STATUS="$?"
|
||||||
|
|
||||||
## Create symlink in the `versions` directory for backward compatibility
|
## Create symlink in the `versions` directory for backward compatibility
|
||||||
if [ -d "${VIRTUALENV_PATH}" ]; then
|
if [ -d "${VIRTUALENV_PATH}" ] && [ -n "${COMPAT_VIRTUALENV_PATH}" ]; then
|
||||||
ln -fs "${VIRTUALENV_PATH}" "${COMPAT_VIRTUALENV_PATH}"
|
ln -fs "${VIRTUALENV_PATH}" "${COMPAT_VIRTUALENV_PATH}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
## Install setuptools and pip.
|
## Install setuptools and pip.
|
||||||
PYENV_VERSION="${VERSION_NAME}/envs/${VIRTUALENV_NAME}" build_package_ensurepip
|
PYENV_VERSION="${VERSION_NAME}" build_package_ensurepip
|
||||||
|
|
||||||
## Migrate previously installed packages from requirements.txt.
|
## Migrate previously installed packages from requirements.txt.
|
||||||
PYENV_VERSION="${VERSION_NAME}/envs/${VIRTUALENV_NAME}" install_requirements || true
|
PYENV_VERSION="${VERSION_NAME}" install_requirements || true
|
||||||
|
|
||||||
# Execute `after_virtualenv` hooks.
|
# Execute `after_virtualenv` hooks.
|
||||||
for hook in "${after_hooks[@]}"; do eval "$hook"; done
|
for hook in "${after_hooks[@]}"; do eval "$hook"; done
|
||||||
|
|||||||
Reference in New Issue
Block a user