Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New ADR: Use PyEnv to set up multiple Python version on host #11

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Use PyEnv to set up multiple Python version on host

* Status: proposed
* Date: 2020-04-07

## Context and Problem Statement

It is common that multiple versions of Python need to be install on development
machines, which can be cumbersome.

## Decision Drivers <!-- optional -->

As a reminder, at time of writing, ODC only actively support linux, MacOS, and
POSIX unix systems.

## Considered Options
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does Anaconda could also be on the list of considered options ?
Would be disqualified against pyenv as much more complex for this task only and some issues with transient dependencies (especially C++ ones) that make it less reliable.


* [PyEnv](https://github.com/pyenv/pyenv).
* [PipEnv](https://github.com/pypa/pipenv).
* Developing on virtual machine or docker containers.
* [altinstall](https://hackersandslackers.com/multiple-versions-python-ubuntu/)
on Ubuntu, and equivalent on other plateforms
* Install each version manually (through various means, be through package management
tools or by downloading and installing libraries).

## Decision Outcome

Chosen option: "PyEnv", because it allows to manage the full workflow of installing and
uninstalling Python versions.
Comment on lines +28 to +29
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think developing a little more why other options are not chosen.
In that way, pipenv or altinstall could also manage the install and uninstall of Python versions.