mirror of
https://github.com/pyenv/pyenv.git
synced 2024-11-21 20:47:00 -05:00
add pyenv push
and pyenv pop
to manage version stack
This commit is contained in:
parent
aede700619
commit
e8ad78f837
3 changed files with 60 additions and 0 deletions
28
README.md
28
README.md
|
@ -199,6 +199,20 @@ within these Python versions are searched by specified order.
|
|||
$ pyenv which python
|
||||
/home/yyuu/.pyenv/versions/2.7.3/bin/python
|
||||
|
||||
You can manage your version stack by `pyenv push` and `pyenv pop`.
|
||||
|
||||
$ pyenv global
|
||||
2.7.3
|
||||
3.2.3
|
||||
$ pyenv push 3.3.0
|
||||
$ pyenv global
|
||||
2.7.3
|
||||
3.2.3
|
||||
3.3.0
|
||||
$ pyenv pop
|
||||
2.7.3
|
||||
3.2.3
|
||||
|
||||
### <a name="section_3.2"></a> 3.2 pyenv local
|
||||
|
||||
Sets a local per-project Python version by writing the version name to
|
||||
|
@ -228,6 +242,20 @@ within these Python versions are searched by specified order.
|
|||
$ pyenv which python
|
||||
/home/yyuu/.pyenv/versions/2.7.3/bin/python
|
||||
|
||||
You can manage your version stack by `pyenv push` and `pyenv pop`.
|
||||
|
||||
$ pyenv local
|
||||
2.7.3
|
||||
3.2.3
|
||||
$ pyenv push 3.3.0
|
||||
$ pyenv local
|
||||
2.7.3
|
||||
3.2.3
|
||||
3.3.0
|
||||
$ pyenv pop
|
||||
2.7.3
|
||||
3.2.3
|
||||
|
||||
### <a name="section_3.3"></a> 3.3 pyenv shell
|
||||
|
||||
Sets a shell-specific Python version by setting the `PYENV_VERSION`
|
||||
|
|
18
libexec/pyenv-sh-pop
Executable file
18
libexec/pyenv-sh-pop
Executable file
|
@ -0,0 +1,18 @@
|
|||
#!/usr/bin/env bash
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
IFS=: versions=($(pyenv-version-name))
|
||||
|
||||
length="${#versions[@]}"
|
||||
PYENV_VERSION_NAMES=()
|
||||
for ((i=0; i<length-1; i++)); do
|
||||
PYENV_VERSION_NAMES=("${PYENV_VERSION_NAMES[@]}" "${versions[$i]}")
|
||||
done
|
||||
|
||||
if [ -n "$PYENV_VERSION" ]; then
|
||||
IFS=: PYENV_VERSION="${PYENV_VERSION_NAMES[*]}"
|
||||
echo "export PYENV_VERSION=\"${PYENV_VERSION}\""
|
||||
else
|
||||
pyenv-version-file-write "$(pyenv-version-file)" "${PYENV_VERSION_NAMES[@]}"
|
||||
fi
|
14
libexec/pyenv-sh-push
Executable file
14
libexec/pyenv-sh-push
Executable file
|
@ -0,0 +1,14 @@
|
|||
#!/usr/bin/env bash
|
||||
set -e
|
||||
[ -n "$PYENV_DEBUG" ] && set -x
|
||||
|
||||
IFS=: PYENV_VERSION_NAMES=($(pyenv-version-name))
|
||||
versions=("$@")
|
||||
PYENV_VERSION_NAMES=("${PYENV_VERSION_NAMES[@]}" "${versions[@]}")
|
||||
|
||||
if [ -n "$PYENV_VERSION" ]; then
|
||||
IFS=: PYENV_VERSION="${PYENV_VERSION_NAMES[*]}"
|
||||
echo "export PYENV_VERSION=\"${PYENV_VERSION}\""
|
||||
else
|
||||
pyenv-version-file-write "$(pyenv-version-file)" "${PYENV_VERSION_NAMES[@]}"
|
||||
fi
|
Loading…
Reference in a new issue