mirror of
https://github.com/pyenv/pyenv-virtualenv.git
synced 2025-11-08 11:33:55 -05:00
Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
294f64f76b | ||
|
|
e39b112676 | ||
|
|
74bba45b9c | ||
|
|
2d947be5d9 | ||
|
|
a9e1891e8b | ||
|
|
bfdeb31d78 | ||
|
|
e3203f795a | ||
|
|
6d90f61726 | ||
|
|
ed779fea14 | ||
|
|
e0a1e9b35c | ||
|
|
cec39359ec | ||
|
|
8c9f7fa766 | ||
|
|
be6d917f16 | ||
|
|
32718e80b9 | ||
|
|
8310e73b43 | ||
|
|
5d1dcaa94c | ||
|
|
aa9baa8e03 | ||
|
|
75e84742db | ||
|
|
829dd1c9cb | ||
|
|
a0b17033fc |
@@ -10,4 +10,5 @@ deploy:
|
||||
api_key:
|
||||
secure: DsGAt0UmTSGVfsNJ6LmM+LvsV6FYmvX4FcET82XrskPiQW+N8+8JZR8WuZxfmwdJZu+dkkdoq6gYgL2xF7m4LxRG7aw3B5TtbMTrJQeW0hdtCSBwbbYyvwcp2m7ywE8lGAfZQITaGj1R6f2Cgh8cgtcrErjcF0KJsYlVlgNv+/M=
|
||||
on:
|
||||
repo: pyenv/pyenv-virtualenv
|
||||
tags: true
|
||||
|
||||
13
CHANGELOG.md
13
CHANGELOG.md
@@ -1,5 +1,18 @@
|
||||
## Version History
|
||||
|
||||
#### 1.1.5
|
||||
|
||||
* Fix install script (#290, #302)
|
||||
|
||||
#### 1.1.4
|
||||
|
||||
* Support newer conda (#290)
|
||||
* Prefer `python3.x` executable if avaialble (#206, #282, #296)
|
||||
|
||||
#### 1.1.3
|
||||
|
||||
* No code changes since 1.1.2
|
||||
|
||||
#### 1.1.2
|
||||
|
||||
* Use custom get-pip URL based on the target version (#253, #254, #255)
|
||||
|
||||
19
README.md
19
README.md
@@ -43,7 +43,8 @@ From inside that directory you can:
|
||||
**Fish shell note**: Add this to your `~/.config/fish/config.fish`
|
||||
|
||||
```sh
|
||||
status --is-interactive; and source (pyenv virtualenv-init -|psub)
|
||||
status --is-interactive; and pyenv init - | source
|
||||
status --is-interactive; and pyenv virtualenv-init - | source
|
||||
```
|
||||
|
||||
**Zsh note**: Modify your `~/.zshenv` file instead of `~/.bash_profile`.
|
||||
@@ -57,10 +58,10 @@ From inside that directory you can:
|
||||
```
|
||||
|
||||
|
||||
### Installing with Homebrew (for OS X users)
|
||||
### Installing with Homebrew (for macOS users)
|
||||
|
||||
Mac OS X users can install pyenv-virtualenv with the
|
||||
[Homebrew](http://brew.sh) package manager.
|
||||
macOS users can install pyenv-virtualenv with the
|
||||
[Homebrew](https://brew.sh) package manager.
|
||||
This will give you access to the `pyenv-virtualenv` command. If you have pyenv
|
||||
installed, you will also be able to use the `pyenv virtualenv` command.
|
||||
|
||||
@@ -154,6 +155,12 @@ Removing the directories in `$(pyenv root)/versions` and `$(pyenv root)/versions
|
||||
pyenv uninstall my-virtual-env
|
||||
```
|
||||
|
||||
You can also delete existing virtualenvs by using `virtualenv-delete` command, e.g. you can run:
|
||||
```sh
|
||||
pyenv virtualenv-delete my-virtual-env
|
||||
```
|
||||
This will delete virtualenv called `my-virtual-env`.
|
||||
|
||||
|
||||
### virtualenv and venv
|
||||
|
||||
@@ -228,7 +235,7 @@ You can set certain environment variables to control pyenv-virtualenv.
|
||||
`virtualenv`, download `get_pip.py` from the specified URL.
|
||||
* `PIP_VERSION`, if set and `venv` is preferred
|
||||
over `virtualenv`, install the specified version of pip.
|
||||
|
||||
* `PYENV_VIRTUALENV_VERBOSE_ACTIVATE`, if set, shows some verbose outputs on activation and deactivation
|
||||
|
||||
## Version History
|
||||
|
||||
@@ -237,7 +244,7 @@ See [CHANGELOG.md](CHANGELOG.md).
|
||||
|
||||
### License
|
||||
|
||||
(The MIT License)
|
||||
[(The MIT License)](LICENSE)
|
||||
|
||||
* Copyright (c) 2015 Yamashita, Yuu
|
||||
|
||||
|
||||
@@ -177,7 +177,8 @@ EOS
|
||||
esac
|
||||
|
||||
# anaconda/miniconda
|
||||
if [ -x "${prefix}/bin/conda" ]; then
|
||||
if [ -d "${prefix}/conda-meta" ] ||
|
||||
[ -x "${prefix}/bin/conda" ]; then
|
||||
if [[ "${prefix}" != "${prefix%/envs/*}" ]]; then
|
||||
CONDA_DEFAULT_ENV="${venv##*/envs/}"
|
||||
else
|
||||
@@ -233,7 +234,8 @@ EOS
|
||||
fi
|
||||
|
||||
# conda package anaconda/miniconda scripts (#173)
|
||||
if [ -x "${prefix}/bin/conda" ]; then
|
||||
if [ -d "${prefix}/conda-meta" ] ||
|
||||
[ -x "${prefix}/bin/conda" ]; then
|
||||
shopt -s nullglob
|
||||
case "${shell}" in
|
||||
fish )
|
||||
|
||||
@@ -59,7 +59,8 @@ if [ -n "$PYENV_VIRTUALENV_VERBOSE_ACTIVATE" ]; then
|
||||
fi
|
||||
|
||||
# conda package anaconda/miniconda scripts (#173)
|
||||
if [ -x "${prefix}/bin/conda" ]; then
|
||||
if [ -d "${prefix}/conda-meta" ] ||
|
||||
[ -x "${prefix}/bin/conda" ]; then
|
||||
shopt -s nullglob
|
||||
case "${shell}" in
|
||||
fish )
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
# -f/--force Install even if the version appears to be installed already
|
||||
#
|
||||
|
||||
PYENV_VIRTUALENV_VERSION="1.1.3"
|
||||
PYENV_VIRTUALENV_VERSION="1.1.5"
|
||||
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
@@ -101,6 +101,10 @@ http_get_wget() {
|
||||
}
|
||||
|
||||
version() {
|
||||
if [[ -z "${PYENV_VERSION:-}" ]]; then
|
||||
# `PYENV_VERSION` might not be declared if this was invoked via `--version`
|
||||
export PYENV_VERSION="$(pyenv-version-name)"
|
||||
fi
|
||||
detect_venv
|
||||
local version
|
||||
if [ -n "${USE_CONDA}" ]; then
|
||||
@@ -108,7 +112,7 @@ version() {
|
||||
echo "pyenv-virtualenv ${PYENV_VIRTUALENV_VERSION} (conda ${version:-unknown})"
|
||||
else
|
||||
if [ -n "$USE_M_VENV" ]; then
|
||||
echo "pyenv-virtualenv ${PYENV_VIRTUALENV_VERSION} (python -m venv)"
|
||||
echo "pyenv-virtualenv ${PYENV_VIRTUALENV_VERSION} (${M_VENV_PYTHON_BIN:-python} -m venv)"
|
||||
else
|
||||
version="$(pyenv-exec virtualenv --version 2>/dev/null || true)"
|
||||
echo "pyenv-virtualenv ${PYENV_VIRTUALENV_VERSION} (virtualenv ${version:-unknown})"
|
||||
@@ -123,7 +127,7 @@ usage() {
|
||||
pyenv-exec conda create --help 2>/dev/null || true
|
||||
else
|
||||
if [ -n "${USE_M_VENV}" ]; then
|
||||
pyenv-exec python -m venv --help 2>/dev/null || true
|
||||
pyenv-exec "${M_VENV_PYTHON_BIN:-python}" -m venv --help 2>/dev/null || true
|
||||
else
|
||||
pyenv-exec virtualenv --help 2>/dev/null || true
|
||||
fi
|
||||
@@ -141,9 +145,15 @@ detect_venv() {
|
||||
if [ -x "${prefix}/bin/virtualenv" ]; then
|
||||
HAS_VIRTUALENV=1
|
||||
fi
|
||||
if pyenv-exec python -m venv --help 1>/dev/null 2>&1; then
|
||||
HAS_M_VENV=1
|
||||
fi
|
||||
# Prefer `python3.x` executable if avaialble (#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
|
||||
HAS_M_VENV=1
|
||||
M_VENV_PYTHON_BIN="${python}"
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
# Use `python -m venv` only if there is venv available, virtualenv is not installed, and `-p` not given
|
||||
if [ -n "${HAS_CONDA}" ]; then
|
||||
@@ -537,10 +547,11 @@ for hook in "${before_hooks[@]}"; do eval "$hook"; done
|
||||
|
||||
# Plan cleanup on unsuccessful installation.
|
||||
cleanup() {
|
||||
[[ -L "${COMPAT_VIRTUALENV_PATH}" ]] && rm "${COMPAT_VIRTUALENV_PATH}"
|
||||
[ -z "${PREFIX_EXISTS}" ] && rm -rf "$VIRTUALENV_PATH"
|
||||
}
|
||||
|
||||
trap cleanup SIGINT
|
||||
trap cleanup SIGINT ERR
|
||||
|
||||
# Invoke virtualenv and record exit status in $STATUS.
|
||||
STATUS=0
|
||||
@@ -552,7 +563,7 @@ if [ -n "${USE_CONDA}" ]; then
|
||||
pyenv-exec conda create $QUIET $VERBOSE --name "${VIRTUALENV_PATH##*/}" --yes "${VIRTUALENV_OPTIONS[@]}" python || STATUS="$?"
|
||||
else
|
||||
if [ -n "${USE_M_VENV}" ]; then
|
||||
pyenv-exec python -m venv $QUIET $VERBOSE "${VIRTUALENV_OPTIONS[@]}" "${VIRTUALENV_PATH}" || STATUS="$?"
|
||||
pyenv-exec "${M_VENV_PYTHON_BIN:-python}" -m venv $QUIET $VERBOSE "${VIRTUALENV_OPTIONS[@]}" "${VIRTUALENV_PATH}" || STATUS="$?"
|
||||
else
|
||||
pyenv-exec virtualenv $QUIET $VERBOSE "${VIRTUALENV_OPTIONS[@]}" "${VIRTUALENV_PATH}" || STATUS="$?"
|
||||
fi
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
. "${BASH_SOURCE%/*}"/../libexec/pyenv-virtualenv-realpath
|
||||
|
||||
if [ -z "$PYENV_ROOT" ]; then
|
||||
PYENV_ROOT="${HOME}/.pyenv"
|
||||
@@ -19,6 +20,15 @@ else
|
||||
IFS=: versions=($(pyenv-version-name))
|
||||
fi
|
||||
|
||||
append_virtualenv_prefix() {
|
||||
if [ -d "${VIRTUALENV_PREFIX_PATH}" ]; then
|
||||
VIRTUALENV_PREFIX_PATHS=("${VIRTUALENV_PREFIX_PATHS[@]}" "${VIRTUALENV_PREFIX_PATH:-${PYENV_PREFIX_PATH}}")
|
||||
else
|
||||
echo "pyenv-virtualenv: version \`${version}' is not a virtualenv" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
VIRTUALENV_PREFIX_PATHS=()
|
||||
for version in "${versions[@]}"; do
|
||||
if [ "$version" = "system" ]; then
|
||||
@@ -55,12 +65,11 @@ for version in "${versions[@]}"; do
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
if [ -d "${VIRTUALENV_PREFIX_PATH}" ]; then
|
||||
VIRTUALENV_PREFIX_PATHS=("${VIRTUALENV_PREFIX_PATHS[@]}" "${VIRTUALENV_PREFIX_PATH:-${PYENV_PREFIX_PATH}}")
|
||||
else
|
||||
echo "pyenv-virtualenv: version \`${version}' is not a virtualenv" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
append_virtualenv_prefix
|
||||
elif [ -d "${PYENV_PREFIX_PATH}/conda-meta" ]; then
|
||||
# conda
|
||||
VIRTUALENV_PREFIX_PATH="$(realpath "${PYENV_PREFIX_PATH}"/../..)"
|
||||
append_virtualenv_prefix
|
||||
else
|
||||
echo "pyenv-virtualenv: version \`${version}' is not a virtualenv" 1>&2
|
||||
exit 1
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
. "${BASH_SOURCE%/*}"/../libexec/pyenv-virtualenv-realpath
|
||||
|
||||
if [ -z "$PYENV_ROOT" ]; then
|
||||
PYENV_ROOT="${HOME}/.pyenv"
|
||||
@@ -32,38 +33,6 @@ done
|
||||
|
||||
versions_dir="${PYENV_ROOT}/versions"
|
||||
|
||||
if ! enable -f "${BASH_SOURCE%/*}"/../libexec/pyenv-realpath.dylib realpath 2>/dev/null; then
|
||||
if [ -n "$PYENV_NATIVE_EXT" ]; then
|
||||
echo "pyenv: failed to load \`realpath' builtin" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
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 "$1"
|
||||
}
|
||||
|
||||
realpath() {
|
||||
local cwd="$PWD"
|
||||
local path="$1"
|
||||
local name
|
||||
|
||||
while [ -n "$path" ]; do
|
||||
name="${path##*/}"
|
||||
[ "$name" = "$path" ] || cd "${path%/*}"
|
||||
path="$(resolve_link "$name" || true)"
|
||||
done
|
||||
|
||||
echo "${PWD}/$name"
|
||||
cd "$cwd"
|
||||
}
|
||||
fi
|
||||
|
||||
if [ -d "$versions_dir" ]; then
|
||||
versions_dir="$(realpath "$versions_dir")"
|
||||
fi
|
||||
|
||||
11
etc/pyenv.d/which/conda.bash
Normal file
11
etc/pyenv.d/which/conda.bash
Normal file
@@ -0,0 +1,11 @@
|
||||
# newer versions of conda share programs from the real prefix
|
||||
# this hook tries to find the executable there
|
||||
|
||||
if [ ! -x "${PYENV_COMMAND_PATH}" ] && [[ "${PYENV_COMMAND_PATH##*/}" == "conda" ]]; then
|
||||
if [ -d "${PYENV_ROOT}/versions/${version}/conda-meta" ]; then
|
||||
conda_command_path="$(pyenv-virtualenv-prefix "$version")"/bin/"${PYENV_COMMAND_PATH##*/}"
|
||||
if [ -x "${conda_command_path}" ]; then
|
||||
PYENV_COMMAND_PATH="${conda_command_path}"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@@ -12,14 +12,17 @@ if [ -z "${PREFIX}" ]; then
|
||||
fi
|
||||
|
||||
BIN_PATH="${PREFIX}/bin"
|
||||
LIBEXEC_PATH="${PREFIX}/libexec"
|
||||
SHIMS_PATH="${PREFIX}/shims"
|
||||
HOOKS_PATH="${PREFIX}/etc/pyenv.d"
|
||||
|
||||
mkdir -p "$BIN_PATH"
|
||||
mkdir -p "$LIBEXEC_PATH"
|
||||
mkdir -p "$SHIMS_PATH"
|
||||
mkdir -p "$HOOKS_PATH"
|
||||
|
||||
install -p bin/* "$BIN_PATH"
|
||||
install -p libexec/* "$LIBEXEC_PATH"
|
||||
install -p shims/* "$SHIMS_PATH"
|
||||
for hook in etc/pyenv.d/*; do
|
||||
if [ -d "$hook" ]; then
|
||||
|
||||
50
libexec/pyenv-virtualenv-realpath
Normal file
50
libexec/pyenv-virtualenv-realpath
Normal file
@@ -0,0 +1,50 @@
|
||||
#!/usr/bin/env bash
|
||||
# Summary: Substitute realpath if unavailable as a builtin or file
|
||||
# Usage: . pyenv-virtualenv-realpath
|
||||
|
||||
if ! {
|
||||
enable -f "${BASH_SOURCE%/*}"/../libexec/pyenv-realpath.dylib realpath ||
|
||||
type realpath
|
||||
} >/dev/null 2>&1; then
|
||||
if [ -n "$PYENV_NATIVE_EXT" ]; then
|
||||
echo "pyenv: failed to load \`realpath' builtin" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
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 "$1"
|
||||
}
|
||||
|
||||
realpath() {
|
||||
local f="$*" \
|
||||
name dir
|
||||
[[ $f ]] || {
|
||||
>&2 echo ${FUNCNAME[0]}: missing operand
|
||||
return
|
||||
}
|
||||
while [[ -L $f ]]; do
|
||||
f="$(resolve_link "$f")"
|
||||
done
|
||||
if [[ ! -d $f ]]; then
|
||||
name="/${f##*/}"
|
||||
# parent?
|
||||
dir="${f%/*}"
|
||||
if [[ $dir == $f ]]; then
|
||||
#lacks /: parent is current directory
|
||||
f="$PWD"
|
||||
else
|
||||
f="$dir"
|
||||
fi
|
||||
fi
|
||||
#absolute directory
|
||||
dir="$(cd "$f"
|
||||
pwd)"
|
||||
echo "$dir$name"
|
||||
}
|
||||
fi
|
||||
@@ -25,15 +25,15 @@ unstub_pyenv() {
|
||||
stub pyenv-version-name "echo '${PYENV_VERSION}'"
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-virtualenv-prefix " : false"
|
||||
stub pyenv-exec "python -m venv --help : true"
|
||||
stub pyenv-exec "python -m venv * : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\";mkdir -p \${PYENV_ROOT}/versions/3.5.1/envs/venv/bin"
|
||||
stub pyenv-exec "python3.5 -m venv --help : true"
|
||||
stub pyenv-exec "python3.5 -m venv * : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\";mkdir -p \${PYENV_ROOT}/versions/3.5.1/envs/venv/bin"
|
||||
stub pyenv-exec "python -s -m ensurepip : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\";touch \${PYENV_ROOT}/versions/3.5.1/envs/venv/bin/pip"
|
||||
|
||||
run pyenv-virtualenv venv
|
||||
|
||||
assert_success
|
||||
assert_output <<OUT
|
||||
PYENV_VERSION=3.5.1 python -m venv ${PYENV_ROOT}/versions/3.5.1/envs/venv
|
||||
PYENV_VERSION=3.5.1 python3.5 -m venv ${PYENV_ROOT}/versions/3.5.1/envs/venv
|
||||
PYENV_VERSION=3.5.1/envs/venv python -s -m ensurepip
|
||||
rehashed
|
||||
OUT
|
||||
|
||||
@@ -17,7 +17,7 @@ OUT
|
||||
create_executable "3.5.1" "virtualenv"
|
||||
stub pyenv-prefix "echo '${PYENV_ROOT}/versions/3.5.1'"
|
||||
stub pyenv-prefix "echo '${PYENV_ROOT}/versions/3.5.1'"
|
||||
stub pyenv-exec "python -m venv --help : true"
|
||||
stub pyenv-exec "python3.5 -m venv --help : true"
|
||||
stub pyenv-hooks "virtualenv : echo '$HOOK_PATH'/virtualenv.bash"
|
||||
stub pyenv-exec "echo PYENV_VERSION=3.5.1 \"\$@\""
|
||||
stub pyenv-exec "echo PYENV_VERSION=3.5.1 \"\$@\""
|
||||
|
||||
@@ -26,15 +26,15 @@ unstub_pyenv() {
|
||||
stub_pyenv "${PYENV_VERSION}"
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-virtualenv-prefix " : false"
|
||||
stub pyenv-exec "python -m venv --help : true"
|
||||
stub pyenv-exec "python -m venv * : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\";mkdir -p \${PYENV_ROOT}/versions/3.5.1/envs/venv/bin"
|
||||
stub pyenv-exec "python3.5 -m venv --help : true"
|
||||
stub pyenv-exec "python3.5 -m venv * : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\";mkdir -p \${PYENV_ROOT}/versions/3.5.1/envs/venv/bin"
|
||||
stub pyenv-exec "python -s -m ensurepip : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\";touch \${PYENV_ROOT}/versions/3.5.1/envs/venv/bin/pip"
|
||||
|
||||
run pyenv-virtualenv venv
|
||||
|
||||
assert_success
|
||||
assert_output <<OUT
|
||||
PYENV_VERSION=3.5.1 python -m venv ${PYENV_ROOT}/versions/3.5.1/envs/venv
|
||||
PYENV_VERSION=3.5.1 python3.5 -m venv ${PYENV_ROOT}/versions/3.5.1/envs/venv
|
||||
PYENV_VERSION=3.5.1/envs/venv python -s -m ensurepip
|
||||
rehashed
|
||||
OUT
|
||||
@@ -52,8 +52,8 @@ OUT
|
||||
stub_pyenv "${PYENV_VERSION}"
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-virtualenv-prefix " : false"
|
||||
stub pyenv-exec "python -m venv --help : true"
|
||||
stub pyenv-exec "python -m venv * : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\";mkdir -p \${PYENV_ROOT}/versions/3.3.6/envs/venv/bin"
|
||||
stub pyenv-exec "python3.3 -m venv --help : true"
|
||||
stub pyenv-exec "python3.3 -m venv * : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\";mkdir -p \${PYENV_ROOT}/versions/3.3.6/envs/venv/bin"
|
||||
stub pyenv-exec "python -s -m ensurepip : false"
|
||||
stub pyenv-exec "python -s */get-pip.py : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\";touch \${PYENV_ROOT}/versions/3.3.6/envs/venv/bin/pip"
|
||||
stub curl true
|
||||
@@ -62,7 +62,7 @@ OUT
|
||||
|
||||
assert_success
|
||||
assert_output <<OUT
|
||||
PYENV_VERSION=3.3.6 python -m venv ${PYENV_ROOT}/versions/3.3.6/envs/venv
|
||||
PYENV_VERSION=3.3.6 python3.3 -m venv ${PYENV_ROOT}/versions/3.3.6/envs/venv
|
||||
Installing pip from https://bootstrap.pypa.io/3.3/get-pip.py...
|
||||
PYENV_VERSION=3.3.6/envs/venv python -s ${TMP}/pyenv/cache/get-pip.py
|
||||
rehashed
|
||||
|
||||
@@ -31,6 +31,8 @@ teardown() {
|
||||
create_executable "2.7.8" "python2.7"
|
||||
remove_executable "2.7.9" "python2.7"
|
||||
|
||||
stub pyenv-exec "python2.7 -m venv --help : false"
|
||||
stub pyenv-exec "python2 -m venv --help : false"
|
||||
stub pyenv-exec "python -m venv --help : false"
|
||||
stub pyenv-exec "virtualenv --verbose * : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -s -m ensurepip : true"
|
||||
@@ -56,6 +58,8 @@ OUT
|
||||
remove_executable "2.7.8" "python2.7"
|
||||
create_executable "2.7.9" "python2.7"
|
||||
|
||||
stub pyenv-exec "python2.7 -m venv --help : false"
|
||||
stub pyenv-exec "python2 -m venv --help : false"
|
||||
stub pyenv-exec "python -m venv --help : false"
|
||||
stub pyenv-exec "virtualenv --verbose * : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -s -m ensurepip : true"
|
||||
|
||||
@@ -26,14 +26,14 @@ unstub_pyenv() {
|
||||
stub_pyenv "${PYENV_VERSION}"
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-virtualenv-prefix " : false"
|
||||
stub pyenv-exec "python -m venv --help : true"
|
||||
stub pyenv-exec "python -m venv * : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python3.5 -m venv --help : true"
|
||||
stub pyenv-exec "python3.5 -m venv * : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -s -m ensurepip : true"
|
||||
|
||||
run pyenv-virtualenv venv
|
||||
|
||||
assert_output <<OUT
|
||||
PYENV_VERSION=3.5.1 python -m venv ${PYENV_ROOT}/versions/3.5.1/envs/venv
|
||||
PYENV_VERSION=3.5.1 python3.5 -m venv ${PYENV_ROOT}/versions/3.5.1/envs/venv
|
||||
rehashed
|
||||
OUT
|
||||
assert [ -x "${PYENV_ROOT}/versions/3.5.1/envs/venv/bin/pydoc" ]
|
||||
@@ -52,7 +52,7 @@ OUT
|
||||
stub_pyenv "${PYENV_VERSION}"
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-virtualenv-prefix " : false"
|
||||
stub pyenv-exec "python -m venv --help : true"
|
||||
stub pyenv-exec "python3.5 -m venv --help : true"
|
||||
stub pyenv-exec "virtualenv * : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -s -m ensurepip : true"
|
||||
|
||||
@@ -77,6 +77,8 @@ OUT
|
||||
stub_pyenv "${PYENV_VERSION}"
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-virtualenv-prefix " : false"
|
||||
stub pyenv-exec "python3.2 -m venv --help : false"
|
||||
stub pyenv-exec "python3 -m venv --help : false"
|
||||
stub pyenv-exec "python -m venv --help : false"
|
||||
stub pyenv-exec "pip install virtualenv* : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "virtualenv * : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
@@ -103,7 +105,7 @@ OUT
|
||||
stub_pyenv "${PYENV_VERSION}"
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-virtualenv-prefix " : false"
|
||||
stub pyenv-exec "python -m venv --help : true"
|
||||
stub pyenv-exec "python3.5 -m venv --help : true"
|
||||
stub pyenv-exec "pip install virtualenv : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "virtualenv * : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -s -m ensurepip : true"
|
||||
@@ -130,7 +132,7 @@ OUT
|
||||
stub_pyenv "${PYENV_VERSION}"
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-virtualenv-prefix " : false"
|
||||
stub pyenv-exec "python -m venv --help : true"
|
||||
stub pyenv-exec "python3.5 -m venv --help : true"
|
||||
stub pyenv-exec "pip install virtualenv : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "virtualenv * : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -s -m ensurepip : true"
|
||||
@@ -157,6 +159,8 @@ OUT
|
||||
stub_pyenv "${PYENV_VERSION}"
|
||||
stub pyenv-prefix " : echo '${PYENV_ROOT}/versions/${PYENV_VERSION}'"
|
||||
stub pyenv-virtualenv-prefix " : false"
|
||||
stub pyenv-exec "python3.2 -m venv --help : false"
|
||||
stub pyenv-exec "python3 -m venv --help : false"
|
||||
stub pyenv-exec "python -m venv --help : false"
|
||||
stub pyenv-exec "pip install virtualenv* : echo PIP_REQUIRE_VENV=\${PIP_REQUIRE_VENV} PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "virtualenv * : echo PIP_REQUIRE_VENV=\${PIP_REQUIRE_VENV} PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
|
||||
@@ -9,6 +9,9 @@ setup() {
|
||||
@test "display virtualenv version" {
|
||||
setup_virtualenv "2.7.7"
|
||||
stub pyenv-prefix "echo '${PYENV_ROOT}/versions/2.7.7'"
|
||||
stub pyenv-version-name "echo 2.7.7"
|
||||
stub pyenv-exec "python2.7 -m venv --help : false"
|
||||
stub pyenv-exec "python2 -m venv --help : false"
|
||||
stub pyenv-exec "python -m venv --help : false"
|
||||
stub pyenv-exec "virtualenv --version : echo \"1.11\""
|
||||
|
||||
@@ -24,13 +27,14 @@ setup() {
|
||||
|
||||
@test "display venv version" {
|
||||
setup_m_venv "3.4.1"
|
||||
stub pyenv-version-name "echo 3.4.1"
|
||||
stub pyenv-prefix "echo '${PYENV_ROOT}/versions/3.4.1'"
|
||||
stub pyenv-exec "python -m venv --help : true"
|
||||
stub pyenv-exec "python3.4 -m venv --help : true"
|
||||
|
||||
run pyenv-virtualenv --version
|
||||
|
||||
assert_success
|
||||
[[ "$output" == "pyenv-virtualenv "?.?.?" (python -m venv)" ]]
|
||||
[[ "$output" == "pyenv-virtualenv "?.?.?" (python3.4 -m venv)" ]]
|
||||
|
||||
unstub pyenv-prefix
|
||||
teardown_m_venv "3.4.1"
|
||||
|
||||
@@ -26,6 +26,8 @@ unstub_pyenv() {
|
||||
export PYENV_VERSION="2.7.11"
|
||||
stub_pyenv "${PYENV_VERSION}"
|
||||
stub pyenv-virtualenv-prefix " : false"
|
||||
stub pyenv-exec "python2.7 -m venv --help : false"
|
||||
stub pyenv-exec "python2 -m venv --help : false"
|
||||
stub pyenv-exec "python -m venv --help : false"
|
||||
stub pyenv-exec "virtualenv * : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -s -m ensurepip : false"
|
||||
@@ -53,6 +55,8 @@ OUT
|
||||
stub_pyenv "${PYENV_VERSION}"
|
||||
stub pyenv-version-name "echo \${PYENV_VERSION}"
|
||||
stub pyenv-virtualenv-prefix " : false"
|
||||
stub pyenv-exec "python2.7 -m venv --help : false"
|
||||
stub pyenv-exec "python2 -m venv --help : false"
|
||||
stub pyenv-exec "python -m venv --help : false"
|
||||
stub pyenv-exec "virtualenv * : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -s -m ensurepip : false"
|
||||
@@ -81,6 +85,8 @@ OUT
|
||||
stub_pyenv "${PYENV_VERSION}"
|
||||
stub pyenv-version-name "echo \${PYENV_VERSION}"
|
||||
stub pyenv-virtualenv-prefix " : false"
|
||||
stub pyenv-exec "python2.7 -m venv --help : false"
|
||||
stub pyenv-exec "python2 -m venv --help : false"
|
||||
stub pyenv-exec "python -m venv --help : false"
|
||||
stub pyenv-exec "virtualenv * : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -s -m ensurepip : false"
|
||||
@@ -109,6 +115,8 @@ OUT
|
||||
stub_pyenv "${PYENV_VERSION}"
|
||||
stub pyenv-version-name "echo \${PYENV_VERSION}"
|
||||
stub pyenv-virtualenv-prefix " : false"
|
||||
stub pyenv-exec "python2.7 -m venv --help : false"
|
||||
stub pyenv-exec "python2 -m venv --help : false"
|
||||
stub pyenv-exec "python -m venv --help : false"
|
||||
stub pyenv-exec "virtualenv * : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -s -m ensurepip : false"
|
||||
@@ -172,6 +180,8 @@ OUT
|
||||
export PYENV_VERSION="2.7.11"
|
||||
stub_pyenv "${PYENV_VERSION}"
|
||||
stub pyenv-virtualenv-prefix " : false"
|
||||
stub pyenv-exec "python2.7 -m venv --help : false"
|
||||
stub pyenv-exec "python2 -m venv --help : false"
|
||||
stub pyenv-exec "python -m venv --help : false"
|
||||
stub pyenv-exec "virtualenv * : echo PYENV_VERSION=\${PYENV_VERSION} \"\$@\""
|
||||
stub pyenv-exec "python -s -m ensurepip : false"
|
||||
|
||||
Reference in New Issue
Block a user