mirror of
https://github.com/pyenv/pyenv-virtualenv.git
synced 2025-11-17 07:53:42 -05:00
Merge branch 'master' into pr
This commit is contained in:
@@ -52,13 +52,18 @@ while [ $# -gt 0 ]; do
|
||||
shift 1
|
||||
done
|
||||
|
||||
get_current_versions() {
|
||||
local IFS=:
|
||||
current_versions=($(pyenv-version-name 2>/dev/null))
|
||||
}
|
||||
|
||||
no_shell=
|
||||
versions=("$@")
|
||||
current_versions=()
|
||||
if [ -z "${versions}" ]; then
|
||||
no_shell=1
|
||||
OLDIFS="$IFS"
|
||||
IFS=: versions=($(pyenv-version-name 2>/dev/null))
|
||||
IFS="$OLDIFS"
|
||||
get_current_versions
|
||||
versions=("${current_versions[@]}")
|
||||
fi
|
||||
|
||||
if [ -z "${PYENV_VIRTUALENV_INIT}" ]; then
|
||||
@@ -84,9 +89,7 @@ fi
|
||||
|
||||
if ! pyenv-virtualenv-prefix "${venv}" 1>/dev/null 2>&1; then
|
||||
# fallback to virtualenv of current version
|
||||
OLDIFS="$IFS"
|
||||
IFS=: current_versions=($(pyenv-version-name))
|
||||
IFS="$OLDIFS"
|
||||
[ -n "${current_versions}" ] || get_current_versions
|
||||
new_venv="${current_versions%/envs/*}/envs/${venv}"
|
||||
if pyenv-virtualenv-prefix "${new_venv}" 1>/dev/null 2>&1; then
|
||||
venv="${new_venv}"
|
||||
@@ -228,8 +231,8 @@ if [ -z "${PYENV_VIRTUALENV_DISABLE_PROMPT}" ]; then
|
||||
echo "pyenv-virtualenv: prompt changing will be removed from future release. configure \`export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior." 1>&2
|
||||
fi
|
||||
cat <<EOS
|
||||
export _OLD_VIRTUAL_PS1="\${PS1}";
|
||||
export PS1="(${venv}) \${PS1}";
|
||||
export _OLD_VIRTUAL_PS1="\${PS1:-}";
|
||||
export PS1="(${venv}) \${PS1:-}";
|
||||
EOS
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -134,7 +134,7 @@ EOS
|
||||
;;
|
||||
* )
|
||||
cat <<EOS
|
||||
if [ -n "\${_OLD_VIRTUAL_PATH}" ]; then
|
||||
if [ -n "\${_OLD_VIRTUAL_PATH:-}" ]; then
|
||||
export PATH="\${_OLD_VIRTUAL_PATH}";
|
||||
unset _OLD_VIRTUAL_PATH;
|
||||
fi;
|
||||
@@ -153,7 +153,7 @@ EOS
|
||||
;;
|
||||
* )
|
||||
cat <<EOS
|
||||
if [ -n "\${_OLD_VIRTUAL_PYTHONHOME}" ]; then
|
||||
if [ -n "\${_OLD_VIRTUAL_PYTHONHOME:-}" ]; then
|
||||
export PYTHONHOME="\${_OLD_VIRTUAL_PYTHONHOME}";
|
||||
unset _OLD_VIRTUAL_PYTHONHOME;
|
||||
fi;
|
||||
@@ -167,7 +167,7 @@ fish )
|
||||
;;
|
||||
* )
|
||||
cat <<EOS
|
||||
if [ -n "\${_OLD_VIRTUAL_PS1}" ]; then
|
||||
if [ -n "\${_OLD_VIRTUAL_PS1:-}" ]; then
|
||||
export PS1="\${_OLD_VIRTUAL_PS1}";
|
||||
unset _OLD_VIRTUAL_PS1;
|
||||
fi;
|
||||
|
||||
@@ -6,7 +6,11 @@
|
||||
# pyenv virtualenv --version
|
||||
# pyenv virtualenv --help
|
||||
#
|
||||
# -f/--force Install even if the version appears to be installed already
|
||||
# -f/--force Install even if the version appears to be installed already. Skip
|
||||
# prompting for confirmation
|
||||
#
|
||||
# Notable VIRTUALENV_OPTIONS passed to venv-creating executable, if applicable:
|
||||
# -u/--upgrade Imply --force
|
||||
#
|
||||
|
||||
PYENV_VIRTUALENV_VERSION="1.1.5"
|
||||
@@ -145,7 +149,7 @@ detect_venv() {
|
||||
if [ -x "${prefix}/bin/virtualenv" ]; then
|
||||
HAS_VIRTUALENV=1
|
||||
fi
|
||||
# Prefer `python3.x` executable if avaialble (#206, #282)
|
||||
# Prefer `python3.x` executable if available (#206, #282)
|
||||
local python
|
||||
for python in "python${PYENV_VERSION%.*}" "python${PYENV_VERSION%%.*}" "python"; do
|
||||
if pyenv-exec "${python}" -m venv --help 1>/dev/null 2>&1; then
|
||||
@@ -479,16 +483,28 @@ if [ -z "${GET_PIP_URL}" ]; then
|
||||
# Use custom get-pip URL based on the target version (#1127)
|
||||
case "${PYENV_VERSION}" in
|
||||
2.6 | 2.6.* )
|
||||
GET_PIP_URL="https://bootstrap.pypa.io/2.6/get-pip.py"
|
||||
GET_PIP_URL="https://bootstrap.pypa.io/pip/2.6/get-pip.py"
|
||||
;;
|
||||
2.7 | 2.7.* )
|
||||
GET_PIP_URL="https://bootstrap.pypa.io/pip/2.7/get-pip.py"
|
||||
;;
|
||||
3.2 | 3.2.* )
|
||||
GET_PIP_URL="https://bootstrap.pypa.io/3.2/get-pip.py"
|
||||
GET_PIP_URL="https://bootstrap.pypa.io/pip/3.2/get-pip.py"
|
||||
;;
|
||||
3.3 | 3.3.* )
|
||||
GET_PIP_URL="https://bootstrap.pypa.io/3.3/get-pip.py"
|
||||
GET_PIP_URL="https://bootstrap.pypa.io/pip/3.3/get-pip.py"
|
||||
;;
|
||||
3.4 | 3.4.* )
|
||||
GET_PIP_URL="https://bootstrap.pypa.io/pip/3.4/get-pip.py"
|
||||
;;
|
||||
3.5 | 3.5.* )
|
||||
GET_PIP_URL="https://bootstrap.pypa.io/pip/3.5/get-pip.py"
|
||||
;;
|
||||
3.6 | 3.6.* )
|
||||
GET_PIP_URL="https://bootstrap.pypa.io/pip/3.6/get-pip.py"
|
||||
;;
|
||||
* )
|
||||
GET_PIP_URL="https://bootstrap.pypa.io/get-pip.py"
|
||||
GET_PIP_URL="https://bootstrap.pypa.io/pip/get-pip.py"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
@@ -75,7 +75,7 @@ else
|
||||
if pyenv-virtualenv-prefix "${VERSION_NAME}" 1>/dev/null 2>&1; then
|
||||
PREFIX="${PYENV_ROOT}/versions/${VERSION_NAME}"
|
||||
unset COMPAT_PREFIX
|
||||
else
|
||||
elif [ -z "$FORCE" ]; then
|
||||
echo "pyenv-virtualenv: \`${DEFINITION}' is not a virtualenv." 1>&2
|
||||
exit 1
|
||||
fi
|
||||
@@ -88,7 +88,7 @@ if [ -z "$FORCE" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
read -p "pyenv-virtualenv: remove $PREFIX? "
|
||||
read -p "pyenv-virtualenv: remove $PREFIX? (y/N) "
|
||||
case "$REPLY" in
|
||||
y* | Y* ) ;;
|
||||
* ) exit 1 ;;
|
||||
|
||||
@@ -50,7 +50,7 @@ fi
|
||||
if [ -z "$print" ]; then
|
||||
case "$shell" in
|
||||
bash )
|
||||
profile='~/.bash_profile'
|
||||
profile='~/.bashrc'
|
||||
;;
|
||||
zsh )
|
||||
profile='~/.zshrc'
|
||||
@@ -86,6 +86,8 @@ fi
|
||||
case "$shell" in
|
||||
fish )
|
||||
cat <<EOS
|
||||
while set index (contains -i -- "${PYENV_VIRTUALENV_ROOT:-${PYENV_VIRTUALENV_INSTALL_PREFIX}}/shims" \$PATH)
|
||||
set -eg PATH[\$index]; end; set -e index
|
||||
set -gx PATH '${PYENV_VIRTUALENV_ROOT:-${PYENV_VIRTUALENV_INSTALL_PREFIX}}/shims' \$PATH;
|
||||
set -gx PYENV_VIRTUALENV_INIT 1;
|
||||
EOS
|
||||
@@ -127,7 +129,7 @@ esac
|
||||
if [[ "$shell" != "fish" ]]; then
|
||||
cat <<EOS
|
||||
local ret=\$?
|
||||
if [ -n "\$VIRTUAL_ENV" ]; then
|
||||
if [ -n "\${VIRTUAL_ENV-}" ]; then
|
||||
eval "\$(pyenv sh-activate --quiet || pyenv sh-deactivate --quiet || true)" || true
|
||||
else
|
||||
eval "\$(pyenv sh-activate --quiet || true)" || true
|
||||
@@ -139,8 +141,8 @@ EOS
|
||||
case "$shell" in
|
||||
bash )
|
||||
cat <<EOS
|
||||
if ! [[ "\$PROMPT_COMMAND" =~ _pyenv_virtualenv_hook ]]; then
|
||||
PROMPT_COMMAND="_pyenv_virtualenv_hook;\$PROMPT_COMMAND";
|
||||
if ! [[ "\${PROMPT_COMMAND-}" =~ _pyenv_virtualenv_hook ]]; then
|
||||
PROMPT_COMMAND="_pyenv_virtualenv_hook;\${PROMPT_COMMAND-}"
|
||||
fi
|
||||
EOS
|
||||
;;
|
||||
|
||||
@@ -6,7 +6,21 @@
|
||||
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
. "${BASH_SOURCE%/*}"/../libexec/pyenv-virtualenv-realpath
|
||||
if [ -L "${BASH_SOURCE}" ]; then
|
||||
READLINK=$(type -p greadlink readlink | head -1)
|
||||
if [ -z "$READLINK" ]; then
|
||||
echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2
|
||||
exit 1
|
||||
fi
|
||||
resolve_link() {
|
||||
$READLINK -f "$1"
|
||||
}
|
||||
script_path=$(resolve_link ${BASH_SOURCE})
|
||||
else
|
||||
script_path=${BASH_SOURCE}
|
||||
fi
|
||||
|
||||
. ${script_path%/*}/../libexec/pyenv-virtualenv-realpath
|
||||
|
||||
if [ -z "$PYENV_ROOT" ]; then
|
||||
PYENV_ROOT="${HOME}/.pyenv"
|
||||
|
||||
@@ -7,7 +7,21 @@
|
||||
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
. "${BASH_SOURCE%/*}"/../libexec/pyenv-virtualenv-realpath
|
||||
if [ -L "${BASH_SOURCE}" ]; then
|
||||
READLINK=$(type -p greadlink readlink | head -1)
|
||||
if [ -z "$READLINK" ]; then
|
||||
echo "pyenv: cannot find readlink - are you missing GNU coreutils?" >&2
|
||||
exit 1
|
||||
fi
|
||||
resolve_link() {
|
||||
$READLINK -f "$1"
|
||||
}
|
||||
script_path=$(resolve_link ${BASH_SOURCE})
|
||||
else
|
||||
script_path=${BASH_SOURCE}
|
||||
fi
|
||||
|
||||
. ${script_path%/*}/../libexec/pyenv-virtualenv-realpath
|
||||
|
||||
if [ -z "$PYENV_ROOT" ]; then
|
||||
PYENV_ROOT="${HOME}/.pyenv"
|
||||
@@ -76,6 +90,7 @@ print_version() {
|
||||
num_versions=$((num_versions + 1))
|
||||
}
|
||||
|
||||
shopt -s dotglob
|
||||
shopt -s nullglob
|
||||
for path in "$versions_dir"/*; do
|
||||
if [ -d "$path" ]; then
|
||||
@@ -96,6 +111,7 @@ for path in "$versions_dir"/*; do
|
||||
done
|
||||
fi
|
||||
done
|
||||
shopt -u dotglob
|
||||
shopt -u nullglob
|
||||
|
||||
if [ "$num_versions" -eq 0 ] && [ -n "$include_system" ]; then
|
||||
|
||||
Reference in New Issue
Block a user