|
|
@ -47,14 +47,6 @@ This project was forked from [rbenv](https://github.com/sstephenson/rbenv) and |
|
|
|
* [Neckbeard Configuration](#neckbeard-configuration) |
|
|
|
* [Uninstalling Python Versions](#uninstalling-python-versions) |
|
|
|
* [Command Reference](#command-reference) |
|
|
|
* [pyenv local](#pyenv-local) |
|
|
|
* [pyenv global](#pyenv-global) |
|
|
|
* [pyenv shell](#pyenv-shell) |
|
|
|
* [pyenv versions](#pyenv-versions) |
|
|
|
* [pyenv version](#pyenv-version) |
|
|
|
* [pyenv rehash](#pyenv-rehash) |
|
|
|
* [pyenv which](#pyenv-which) |
|
|
|
* [pyenv whence](#pyenv-whence) |
|
|
|
* [Development](#development) |
|
|
|
* [Version History](#version-history) |
|
|
|
* [License](#license) |
|
|
@ -295,238 +287,7 @@ with the `pyenv prefix` command, e.g. `pyenv prefix 2.6.8`. |
|
|
|
|
|
|
|
## Command Reference |
|
|
|
|
|
|
|
Like `git`, the `pyenv` command delegates to subcommands based on its |
|
|
|
first argument. The most common subcommands are: |
|
|
|
|
|
|
|
|
|
|
|
### 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](https://github.com/yyuu/pyenv/tree/master/plugins/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 |
|
|
|
See [COMMANDS.md](COMMANDS.md). |
|
|
|
|
|
|
|
|
|
|
|
## Development |
|
|
|