pyenv / pyenv-installer

This tool is used to install `pyenv` and friends.
MIT License
3.96k stars 428 forks source link

pyenv installer

This tool installs pyenv <https://github.com/pyenv/pyenv> and friends. It is inspired by rbenv-installer <https://github.com/rbenv/rbenv-installer>.

Prerequisites

Git <https://git-scm.com/>__ installed.

In general, compiling your own Python interpreter requires the installation of the appropriate libraries and packages. The installation wiki <https://github.com/pyenv/pyenv/wiki/Common-build-problems>__ provides a list of these for common operating systems.

Installation / Update / Uninstallation

Once prerequisites have been installed correctly:

Install:

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``).

.. code:: bash

    curl https://pyenv.run | bash

``pyenv.run`` redirects to the install script in this repository and the invocation above is equivalent to::

    curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

After installing, follow `these instructions <https://github.com/pyenv/pyenv#set-up-your-shell-environment-for-pyenv>`_ to set up your shell environment.

You can now begin using pyenv.

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

Update:

.. code:: bash

pyenv update

Uninstall:


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

.. code:: bash

    rm -fr ~/.pyenv

then remove these three lines from ``.bashrc``:

.. code:: bash

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

and finally, restart your shell:

.. code:: bash

    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 https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
  - export PATH="$HOME/.pyenv/bin:$PATH"
  - pyenv install 3.5.2

Development and testing
-----------------------

The `project on github <https://github.com/pyenv/pyenv-installer>`__ 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 <https://www.vagrantup.com/downloads.html>`__, 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

.. code:: bash

    cd /vagrant
    python setup.py 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
---------------

20190111

20150113


-  Initial release on PyPi.

20130601

License

MIT - see License file <LICENSE>_.