6.1 KiB
Command Reference
Like git
, the pyenv
command delegates to subcommands based on its
first argument.
The most common subcommands are:
- pyenv local
- pyenv global
- pyenv shell
- pyenv versions
- pyenv version
- pyenv rehash
- pyenv which
- pyenv whence
pyenv local
Sets a local application-specific Python version by writing the version
name to a .python-version
file in the current directory. This version
overrides the global version, and can be overridden itself by setting
the PYENV_VERSION
environment variable or with the pyenv shell
command.
$ pyenv local 2.7.6
When run without a version number, pyenv local
reports the currently
configured local version. You can also unset the local version:
$ pyenv local --unset
Previous versions of pyenv stored local version specifications in a
file named .pyenv-version
. For backwards compatibility, pyenv will
read a local version specified in an .pyenv-version
file, but a
.python-version
file in the same directory will take precedence.
pyenv local (advanced)
You can specify multiple versions as local Python at once.
Let's say if you have two versions of 2.7.6 and 3.3.3. If you prefer 2.7.6 over 3.3.3,
$ pyenv local 2.7.6 3.3.3
$ pyenv versions
system
* 2.7.6 (set by /Users/yyuu/path/to/project/.python-version)
* 3.3.3 (set by /Users/yyuu/path/to/project/.python-version)
$ python --version
Python 2.7.6
$ python2.7 --version
Python 2.7.6
$ python3.3 --version
Python 3.3.3
or, if you prefer 3.3.3 over 2.7.6,
$ pyenv local 3.3.3 2.7.6
$ pyenv versions
system
* 2.7.6 (set by /Users/yyuu/path/to/project/.python-version)
* 3.3.3 (set by /Users/yyuu/path/to/project/.python-version)
venv27
$ python --version
Python 3.3.3
$ python2.7 --version
Python 2.7.6
$ python3.3 --version
Python 3.3.3
pyenv global
Sets the global version of Python to be used in all shells by writing
the version name to the ~/.pyenv/version
file. This version can be
overridden by an application-specific .python-version
file, or by
setting the PYENV_VERSION
environment variable.
$ pyenv global 2.7.6
The special version name system
tells pyenv to use the system Python
(detected by searching your $PATH
).
When run without a version number, pyenv global
reports the
currently configured global version.
pyenv global (advanced)
You can specify multiple versions as global Python at once.
Let's say if you have two versions of 2.7.6 and 3.3.3. If you prefer 2.7.6 over 3.3.3,
$ pyenv global 2.7.6 3.3.3
$ pyenv versions
system
* 2.7.6 (set by /Users/yyuu/.pyenv/version)
* 3.3.3 (set by /Users/yyuu/.pyenv/version)
$ python --version
Python 2.7.6
$ python2.7 --version
Python 2.7.6
$ python3.3 --version
Python 3.3.3
or, if you prefer 3.3.3 over 2.7.6,
$ pyenv global 3.3.3 2.7.6
$ pyenv versions
system
* 2.7.6 (set by /Users/yyuu/.pyenv/version)
* 3.3.3 (set by /Users/yyuu/.pyenv/version)
venv27
$ python --version
Python 3.3.3
$ python2.7 --version
Python 2.7.6
$ python3.3 --version
Python 3.3.3
pyenv shell
Sets a shell-specific Python version by setting the PYENV_VERSION
environment variable in your shell. This version overrides
application-specific versions and the global version.
$ pyenv shell pypy-2.2.1
When run without a version number, pyenv shell
reports the current
value of PYENV_VERSION
. You can also unset the shell version:
$ pyenv shell --unset
Note that you'll need pyenv's shell integration enabled (step 3 of
the installation instructions) in order to use this command. If you
prefer not to use shell integration, you may simply set the
PYENV_VERSION
variable yourself:
$ export PYENV_VERSION=pypy-2.2.1
pyenv shell (advanced)
You can specify multiple versions via PYENV_VERSION
at once.
Let's say if you have two versions of 2.7.6 and 3.3.3. If you prefer 2.7.6 over 3.3.3,
$ pyenv shell 2.7.6 3.3.3
$ pyenv versions
system
* 2.7.6 (set by PYENV_VERSION environment variable)
* 3.3.3 (set by PYENV_VERSION environment variable)
$ python --version
Python 2.7.6
$ python2.7 --version
Python 2.7.6
$ python3.3 --version
Python 3.3.3
or, if you prefer 3.3.3 over 2.7.6,
$ pyenv shell 3.3.3 2.7.6
$ pyenv versions
system
* 2.7.6 (set by PYENV_VERSION environment variable)
* 3.3.3 (set by PYENV_VERSION environment variable)
venv27
$ python --version
Python 3.3.3
$ python2.7 --version
Python 2.7.6
$ python3.3 --version
Python 3.3.3
pyenv versions
Lists all Python versions known to pyenv, and shows an asterisk next to the currently active version.
$ pyenv versions
2.5.6
2.6.8
* 2.7.6 (set by /home/yyuu/.pyenv/version)
3.3.3
jython-2.5.3
pypy-2.2.1
pyenv version
Displays the currently active Python version, along with information on how it was set.
$ pyenv version
2.7.6 (set by /home/yyuu/.pyenv/version)
pyenv rehash
Installs shims for all Python binaries known to pyenv (i.e.,
~/.pyenv/versions/*/bin/*
). Run this command after you install a new
version of Python, or install a package that provides binaries.
$ pyenv rehash
pyenv which
Displays the full path to the executable that pyenv will invoke when you run the given command.
$ pyenv which python3.3
/home/yyuu/.pyenv/versions/3.3.3/bin/python3.3
pyenv whence
Lists all Python versions with the given command installed.
$ pyenv whence 2to3
2.6.8
2.7.6
3.3.3
pyenv install
Part of Python-build, this installs versions of python
$ pyenv install 2.7.6
$ pyenv install 2.6.8
$ pyenv versions
system
2.6.8
* 2.7.6 (set by /home/yyuu/.pyenv/version)
pyenv install --list
List available remote versions of Python, including Anaconda, Jython, pypy, and stackless
$ pyenv install --list