asdf-python/README.md
2019-05-15 15:20:54 -07:00

49 lines
1.9 KiB
Markdown

# asdf-python
[![Build Status](https://travis-ci.org/danhper/asdf-python.svg?branch=master)](https://travis-ci.org/danhper/asdf-python)
Python plugin for [asdf](https://github.com/asdf-vm/asdf) version manager
## Install
```
asdf plugin-add python https://github.com/danhper/asdf-python.git
```
## Use
Check [asdf](https://github.com/asdf-vm/asdf) readme for instructions on how to install & manage versions of Python.
Please make sure you have the required [system dependencies](https://github.com/pyenv/pyenv/wiki#suggested-build-environment) installed before trying to install Python.
Under the hood, asdf-python uses [python-build](https://github.com/yyuu/pyenv/tree/master/plugins/python-build)
to build and install Python, check its [README](https://github.com/yyuu/pyenv/tree/master/plugins/python-build)
for more information about build options and the [common build problems](https://github.com/pyenv/pyenv/wiki/Common-build-problems) wiki page for any issues encountered during installation of python versions.
## Using multiple versions of Python
A common request for Python is being able to use the `python2` and `python3` commands without needing to switch version.
This can be achieved by setting multiple versions of Python, for example with
```
asdf global python 3.6.2 2.7.13
```
This feature is experimental but should be working well enough for most use cases. Incidentally, the first python version you install will claim `python`. With the above example:
```
python -V
Python 3.6.3
python3 -V
Python 3.6.3
python2 -V
2.7.13
```
In some cases, you might want python2 and python3 to co-exist, but python needs to point at a specific python version. The order of python versions is what controls this.
## Pip installed modules and binaries
If you use pip to install a module like ipython that has a binaries. You will need to run `asdf reshim python` for the binary to be in your path.