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
|
$ pyenv which python
|
||||||
/home/yyuu/.pyenv/versions/2.7.3/bin/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
|
### <a name="section_3.2"></a> 3.2 pyenv local
|
||||||
|
|
||||||
Sets a local per-project Python version by writing the version name to
|
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
|
$ pyenv which python
|
||||||
/home/yyuu/.pyenv/versions/2.7.3/bin/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
|
### <a name="section_3.3"></a> 3.3 pyenv shell
|
||||||
|
|
||||||
Sets a shell-specific Python version by setting the `PYENV_VERSION`
|
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