mirror of
https://github.com/pyenv/pyenv-virtualenv.git
synced 2025-11-12 21:43:51 -05:00
Run _ensurepip_ after the every creation of virtualenv/pyvenv
This commit is contained in:
@@ -142,11 +142,6 @@ venv() {
|
||||
local args=("$@")
|
||||
if [ -n "${USE_PYVENV}" ]; then
|
||||
pyenv-exec pyvenv "${args[@]}"
|
||||
|
||||
local last="${args[${#args[@]}-1]}"
|
||||
( export PYENV_VERSION="${last##*/}"
|
||||
build_package_ensurepip
|
||||
)
|
||||
else
|
||||
pyenv-exec virtualenv "${args[@]}"
|
||||
fi
|
||||
@@ -203,8 +198,7 @@ install_virtualenv() {
|
||||
}
|
||||
|
||||
create_symlinks() {
|
||||
local version="$1"
|
||||
local suffix="$(PYENV_VERSION="${version}" pyenv-exec python -c 'import sys;v=sys.version_info;sys.stdout.write("%d.%d"%(v[0],v[1]))')"
|
||||
local suffix="$1"
|
||||
|
||||
local file link
|
||||
shopt -s nullglob
|
||||
@@ -429,12 +423,17 @@ mkdir -p "${PYENV_VIRTUALENV_CACHE_PATH}"
|
||||
cd "${PYENV_VIRTUALENV_CACHE_PATH}"
|
||||
venv $QUIET $VERBOSE "${VIRTUALENV_OPTIONS[@]}" "${VIRTUALENV_PATH}" || STATUS="$?"
|
||||
|
||||
## Install setuptools and pip
|
||||
( export PYENV_VERSION="${VIRTUALENV_NAME}"
|
||||
build_package_ensurepip
|
||||
)
|
||||
|
||||
## Migrate previously installed packages from requirements.txt
|
||||
if [ -n "$UPGRADE" ]; then
|
||||
upgrade "${VIRTUALENV_NAME}" "${VIRTUALENV_PATH}" || STATUS="$?"
|
||||
fi
|
||||
|
||||
create_symlinks "${VIRTUALENV_NAME}"
|
||||
create_symlinks "$(PYENV_VERSION="${VIRTUALENV_NAME}" pyenv-exec python -c 'import sys;v=sys.version_info;sys.stdout.write("python%d.%d"%(v[0],v[1]))')"
|
||||
|
||||
# Execute `after_virtualenv` hooks
|
||||
for hook in "${after_hooks[@]}"; do eval "$hook"; done
|
||||
|
||||
@@ -50,6 +50,7 @@ OUT
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-exec "virtualenv ${PYENV_ROOT}/versions/venv : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -m ensurepip : true"
|
||||
stub pyenv-exec "python -c * : echo ${PYENV_VERSION%.*}"
|
||||
|
||||
create_executable "3.4.1" "virtualenv"
|
||||
@@ -74,7 +75,12 @@ OUT
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-exec "pip install virtualenv : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "virtualenv ${PYENV_ROOT}/versions/venv : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -m ensurepip : false"
|
||||
stub pyenv-exec "python */ez_setup.py : true"
|
||||
stub pyenv-exec "python */get-pip.py : true"
|
||||
stub pyenv-exec "python -c * : echo ${PYENV_VERSION%.*}"
|
||||
stub curl true
|
||||
stub curl true
|
||||
|
||||
remove_executable "3.2.1" "virtualenv"
|
||||
remove_executable "3.2.1" "pyvenv"
|
||||
@@ -85,11 +91,14 @@ OUT
|
||||
assert_output <<OUT
|
||||
PYENV_VERSION=3.2.1 pip install virtualenv
|
||||
PYENV_VERSION=3.2.1 virtualenv ${PYENV_ROOT}/versions/venv
|
||||
Installing setuptools from https://bootstrap.pypa.io/ez_setup.py...
|
||||
Installing pip from https://bootstrap.pypa.io/get-pip.py...
|
||||
rehashed
|
||||
OUT
|
||||
|
||||
unstub_pyenv
|
||||
unstub pyenv-exec
|
||||
unstub curl
|
||||
}
|
||||
|
||||
@test "install virtualenv if -p has given" {
|
||||
@@ -99,6 +108,7 @@ OUT
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-exec "pip install virtualenv : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "virtualenv --python=python3 ${PYENV_ROOT}/versions/venv : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -m ensurepip : true"
|
||||
stub pyenv-exec "python -c * : echo ${PYENV_VERSION%.*}"
|
||||
|
||||
remove_executable "3.4.1" "virtualenv"
|
||||
@@ -124,6 +134,7 @@ OUT
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-exec "pip install virtualenv : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "virtualenv --python=python3 ${PYENV_ROOT}/versions/venv : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -m ensurepip : true"
|
||||
stub pyenv-exec "python -c * : echo ${PYENV_VERSION%.*}"
|
||||
|
||||
remove_executable "3.4.1" "virtualenv"
|
||||
@@ -149,7 +160,12 @@ OUT
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-exec "pip install virtualenv : echo PIP_REQUIRE_VENV=\${PIP_REQUIRE_VENV} PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "virtualenv ${PYENV_ROOT}/versions/venv : echo PIP_REQUIRE_VENV=\${PIP_REQUIRE_VENV} PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -m ensurepip : false"
|
||||
stub pyenv-exec "python */ez_setup.py : true"
|
||||
stub pyenv-exec "python */get-pip.py : true"
|
||||
stub pyenv-exec "python -c * : echo ${PYENV_VERSION%.*}"
|
||||
stub curl true
|
||||
stub curl true
|
||||
|
||||
remove_executable "3.2.1" "virtualenv"
|
||||
remove_executable "3.2.1" "pyvenv"
|
||||
@@ -160,9 +176,12 @@ OUT
|
||||
assert_output <<OUT
|
||||
PIP_REQUIRE_VENV= PYENV_VERSION=3.2.1 pip install virtualenv
|
||||
PIP_REQUIRE_VENV= PYENV_VERSION=3.2.1 virtualenv ${PYENV_ROOT}/versions/venv
|
||||
Installing setuptools from https://bootstrap.pypa.io/ez_setup.py...
|
||||
Installing pip from https://bootstrap.pypa.io/get-pip.py...
|
||||
rehashed
|
||||
OUT
|
||||
|
||||
unstub_pyenv
|
||||
unstub pyenv-exec
|
||||
unstub curl
|
||||
}
|
||||
|
||||
@@ -27,18 +27,26 @@ unstub_pyenv() {
|
||||
export PYENV_VERSION="3.2.1"
|
||||
stub_pyenv "${PYENV_VERSION}"
|
||||
stub pyenv-exec "virtualenv ${PYENV_ROOT}/versions/venv : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -m ensurepip : false"
|
||||
stub pyenv-exec "python */ez_setup.py : true"
|
||||
stub pyenv-exec "python */get-pip.py : true"
|
||||
stub pyenv-exec "python -c * : echo ${PYENV_VERSION%.*}"
|
||||
stub curl true
|
||||
stub curl true
|
||||
|
||||
run pyenv-virtualenv "3.2.1" "venv"
|
||||
|
||||
assert_success
|
||||
assert_output <<OUT
|
||||
PYENV_VERSION=3.2.1 virtualenv ${PYENV_ROOT}/versions/venv
|
||||
Installing setuptools from https://bootstrap.pypa.io/ez_setup.py...
|
||||
Installing pip from https://bootstrap.pypa.io/get-pip.py...
|
||||
rehashed
|
||||
OUT
|
||||
|
||||
unstub_pyenv
|
||||
unstub pyenv-exec
|
||||
unstub curl
|
||||
}
|
||||
|
||||
@test "create virtualenv from current version" {
|
||||
@@ -46,19 +54,27 @@ OUT
|
||||
stub_pyenv "${PYENV_VERSION}"
|
||||
stub pyenv-version-name "echo \${PYENV_VERSION}"
|
||||
stub pyenv-exec "virtualenv ${PYENV_ROOT}/versions/venv : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -m ensurepip : false"
|
||||
stub pyenv-exec "python */ez_setup.py : true"
|
||||
stub pyenv-exec "python */get-pip.py : true"
|
||||
stub pyenv-exec "python -c * : echo ${PYENV_VERSION%.*}"
|
||||
stub curl true
|
||||
stub curl true
|
||||
|
||||
run pyenv-virtualenv venv
|
||||
|
||||
assert_success
|
||||
assert_output <<OUT
|
||||
PYENV_VERSION=3.2.1 virtualenv ${PYENV_ROOT}/versions/venv
|
||||
Installing setuptools from https://bootstrap.pypa.io/ez_setup.py...
|
||||
Installing pip from https://bootstrap.pypa.io/get-pip.py...
|
||||
rehashed
|
||||
OUT
|
||||
|
||||
unstub_pyenv
|
||||
unstub pyenv-version-name
|
||||
unstub pyenv-exec
|
||||
unstub curl
|
||||
}
|
||||
|
||||
@test "create virtualenv with short options" {
|
||||
@@ -66,19 +82,27 @@ OUT
|
||||
stub_pyenv "${PYENV_VERSION}"
|
||||
stub pyenv-version-name "echo \${PYENV_VERSION}"
|
||||
stub pyenv-exec "virtualenv --verbose --python=python ${PYENV_ROOT}/versions/venv : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -m ensurepip : false"
|
||||
stub pyenv-exec "python */ez_setup.py : true"
|
||||
stub pyenv-exec "python */get-pip.py : true"
|
||||
stub pyenv-exec "python -c * : echo ${PYENV_VERSION%.*}"
|
||||
stub curl true
|
||||
stub curl true
|
||||
|
||||
run pyenv-virtualenv -v -p python venv
|
||||
|
||||
assert_success
|
||||
assert_output <<OUT
|
||||
PYENV_VERSION=3.2.1 virtualenv --verbose --python=python ${PYENV_ROOT}/versions/venv
|
||||
Installing setuptools from https://bootstrap.pypa.io/ez_setup.py...
|
||||
Installing pip from https://bootstrap.pypa.io/get-pip.py...
|
||||
rehashed
|
||||
OUT
|
||||
|
||||
unstub_pyenv
|
||||
unstub pyenv-version-name
|
||||
unstub pyenv-exec
|
||||
unstub curl
|
||||
}
|
||||
|
||||
@test "create virtualenv with long options" {
|
||||
@@ -86,17 +110,25 @@ OUT
|
||||
stub_pyenv "${PYENV_VERSION}"
|
||||
stub pyenv-version-name "echo \${PYENV_VERSION}"
|
||||
stub pyenv-exec "virtualenv --verbose --python=python ${PYENV_ROOT}/versions/venv : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -m ensurepip : false"
|
||||
stub pyenv-exec "python */ez_setup.py : true"
|
||||
stub pyenv-exec "python */get-pip.py : true"
|
||||
stub pyenv-exec "python -c * : echo ${PYENV_VERSION%.*}"
|
||||
stub curl true
|
||||
stub curl true
|
||||
|
||||
run pyenv-virtualenv --verbose --python=python venv
|
||||
|
||||
assert_success
|
||||
assert_output <<OUT
|
||||
PYENV_VERSION=3.2.1 virtualenv --verbose --python=python ${PYENV_ROOT}/versions/venv
|
||||
Installing setuptools from https://bootstrap.pypa.io/ez_setup.py...
|
||||
Installing pip from https://bootstrap.pypa.io/get-pip.py...
|
||||
rehashed
|
||||
OUT
|
||||
|
||||
unstub_pyenv
|
||||
unstub pyenv-version-name
|
||||
unstub pyenv-exec
|
||||
unstub curl
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user