mirror of
https://github.com/pyenv/pyenv-virtualenv.git
synced 2025-11-14 06:23:52 -05:00
Display the version of pyvenv if USE_PYVENV is set
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
# pyenv-virtualenv (a.k.a. [python-virtualenv](https://github.com/yyuu/python-virtualenv))
|
# pyenv-virtualenv
|
||||||
|
|
||||||
[](https://travis-ci.org/yyuu/pyenv-virtualenv)
|
[](https://travis-ci.org/yyuu/pyenv-virtualenv)
|
||||||
|
|
||||||
|
|||||||
@@ -103,8 +103,17 @@ http_get_wget() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
version() {
|
version() {
|
||||||
local version="$(venv --version 2>/dev/null || true)"
|
detect_venv
|
||||||
echo "pyenv-virtualenv ${PYENV_VIRTUALENV_VERSION} (virtualenv ${version:-unknown})"
|
local version
|
||||||
|
if [ -n "$USE_PYVENV" ]; then
|
||||||
|
version="$(pyenv-which pyvenv 2>/dev/null || true)"
|
||||||
|
version="${version#$(pyenv-root)/versions/}"
|
||||||
|
version="${version%/bin/pyvenv}"
|
||||||
|
echo "pyenv-virtualenv ${PYENV_VIRTUALENV_VERSION} (pyvenv ${version:-unknown})"
|
||||||
|
else
|
||||||
|
version="$(venv --version 2>/dev/null || true)"
|
||||||
|
echo "pyenv-virtualenv ${PYENV_VIRTUALENV_VERSION} (virtualenv ${version:-unknown})"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
@@ -114,6 +123,19 @@ usage() {
|
|||||||
[ -z "$1" ] || exit "$1"
|
[ -z "$1" ] || exit "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
detect_venv() {
|
||||||
|
if pyenv-which "virtualenv" 1>/dev/null 2>&1; then
|
||||||
|
HAS_VIRTUALENV=1
|
||||||
|
fi
|
||||||
|
if pyenv-which "pyvenv" 1>/dev/null 2>&1; then
|
||||||
|
HAS_PYVENV=1
|
||||||
|
fi
|
||||||
|
# Use pyvenv only if virtualenv is not installed and there is pyvenv
|
||||||
|
if [ -n "${HAS_PYVENV}" ] && [ -z "${HAS_VIRTUALENV}" ]; then
|
||||||
|
USE_PYVENV=1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
venv() {
|
venv() {
|
||||||
local args=("$@")
|
local args=("$@")
|
||||||
if [ -n "${USE_PYVENV}" ]; then
|
if [ -n "${USE_PYVENV}" ]; then
|
||||||
@@ -305,17 +327,7 @@ VIRTUALENV_PATH="${PYENV_ROOT}/versions/${VIRTUALENV_NAME}"
|
|||||||
unset HAS_VIRTUALENV
|
unset HAS_VIRTUALENV
|
||||||
unset HAS_PYVENV
|
unset HAS_PYVENV
|
||||||
unset USE_PYVENV
|
unset USE_PYVENV
|
||||||
|
detect_venv
|
||||||
if pyenv-which "virtualenv" 1>/dev/null 2>&1; then
|
|
||||||
HAS_VIRTUALENV=1
|
|
||||||
fi
|
|
||||||
if pyenv-which "pyvenv" 1>/dev/null 2>&1; then
|
|
||||||
HAS_PYVENV=1
|
|
||||||
fi
|
|
||||||
# Use pyvenv only if virtualenv is not installed and there is pyvenv
|
|
||||||
if [ -n "${HAS_PYVENV}" ] && [ -z "${HAS_VIRTUALENV}" ]; then
|
|
||||||
USE_PYVENV=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -n "${USE_PYVENV}" ]; then
|
if [ -n "${USE_PYVENV}" ]; then
|
||||||
# Unset some arguments not supported by pyvenv
|
# Unset some arguments not supported by pyvenv
|
||||||
|
|||||||
37
test/version.bats
Normal file
37
test/version.bats
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
#!/usr/bin/env bats
|
||||||
|
|
||||||
|
load test_helper
|
||||||
|
|
||||||
|
setup() {
|
||||||
|
export PYENV_ROOT="${TMP}/pyenv"
|
||||||
|
export PYENV_VIRTUALENV_VERSION="20140110.1"
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "display virtualenv version" {
|
||||||
|
stub pyenv-which "virtualenv : true"
|
||||||
|
stub pyenv-which "pyvenv : true"
|
||||||
|
stub pyenv-exec "virtualenv --version : echo \"1.11\""
|
||||||
|
|
||||||
|
run pyenv-virtualenv --version
|
||||||
|
|
||||||
|
unstub pyenv-which
|
||||||
|
unstub pyenv-exec
|
||||||
|
|
||||||
|
assert_success
|
||||||
|
assert_output "pyenv-virtualenv ${PYENV_VIRTUALENV_VERSION} (virtualenv 1.11)"
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "display pyvenv version" {
|
||||||
|
stub pyenv-which "virtualenv : false"
|
||||||
|
stub pyenv-which "pyvenv : echo \"${PYENV_ROOT}/versions/3.3.3/bin/pyvenv\""
|
||||||
|
stub pyenv-which "pyvenv : echo \"${PYENV_ROOT}/versions/3.3.3/bin/pyvenv\""
|
||||||
|
stub pyenv-root "echo \"${PYENV_ROOT}\""
|
||||||
|
|
||||||
|
run pyenv-virtualenv --version
|
||||||
|
|
||||||
|
unstub pyenv-which
|
||||||
|
unstub pyenv-root
|
||||||
|
|
||||||
|
assert_success
|
||||||
|
assert_output "pyenv-virtualenv ${PYENV_VIRTUALENV_VERSION} (pyvenv 3.3.3)"
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user