Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Failed to load latest commit information.
Latest commit message
Commit time

pyenv installer

This tool installs pyenv and friends. It is inspired by rbenv-installer.


Git installed.

In general, compiling your own Python interpreter requires the installation of the appropriate libraries and packages. The installation wiki provides a list of these for common operating systems.

Installation / Update / Uninstallation

Once prerequisites have been installed correctly:


If you wish to install a specific release of Pyenv rather than the latest head, set the PYENV_GIT_TAG environment variable (e.g. export PYENV_GIT_TAG=v2.2.5).

curl | bash redirects to the install script in this repository and the invocation above is equivalent to:

curl -L | bash

Restart your shell so the path changes take effect:

exec $SHELL

You can now begin using pyenv.

If you need, export USE_SSH to use``(SSH pseudo-URL) instead of ``https:// for git clone. (Need to have ssh installled.)


pyenv update


pyenv is installed within $PYENV_ROOT (default: ~/.pyenv). To uninstall, just remove it:

rm -fr ~/.pyenv

then remove these three lines from .bashrc:

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv virtualenv-init -)"

and finally, restart your shell:

exec $SHELL

Using pyenv-installer on Travis CI

Travis itself uses pyenv and therefore PYENV_ROOT is set already. To make it work anyway the installation for pyenv-installer needs to look like this:

- unset PYENV_ROOT
- curl -L | bash
- export PATH="$HOME/.pyenv/bin:$PATH"
- pyenv install 3.5.2

Development and testing

The project on github contains a setup for vagrant to test the installer inside a vagrant managed virtual image.

If you don't know vagrant yet: just install the latest package, open a shell in this project directory and say

vagrant up
vagrant ssh

Now you are inside the vagrant container and your prompt should like something like vagrant@vagrant-ubuntu-trusty-64:~$

The project (this repository) is mapped into the vagrant image at /vagrant

cd /vagrant
python install
echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
source ~/.bashrc

Pyenv should be installed and responding now.

Version History


  • Remove experimental PyPi support and replace with a dummy package.


  • Initial release on PyPi.


  • Initial public release.


MIT - see License file.