Installing Python3.6 alongside Python3.7 on Mac

MacosTensorflowPython 3.6Python 3.7

Macos Problem Overview


I'm trying to install tensorflow onto a Mac with Python3.7. However, I'm getting the error:

$ pip3 -v install tensorflow
...    
    Skipping link https://files.pythonhosted.org/packages/56/7a/c6bca0fe52a94ca508731d8b139e7dbd5a36cddc64c19f422f97e5a853e8/tensorflow-1.10.0rc1-cp36-cp36m-win_amd64.whl#sha256=3ab24374888d6a13d55ce2e3cf4ba0c9cd6f824723313db5322512087525cb78 (from https://pypi.org/simple/tensorflow/); it is not compatible with this Python
  Could not find a version that satisfies the requirement tensorflow (from versions: )
Cleaning up...
Removed build tracker '/private/var/folders/4n/9342s4wd3jv0qzwjz8rxrygr0000gp/T/pip-req-tracker-3p60r2lo'

No matching distribution found for tensorflow

From what I can gather this is happening because tensorflow doesn't yet support Python3.7. As a workaround I want to install Python3.6 alongside 3.7 and then install tensorflow to that version. However, I'm new to Mac and not sure of the correct way to do this without potentially messing with the preexisting Python version.

I've tried using brew, but it looks like Python3 is as specific as it gets. What is the correct way to do what I'm after?

Macos Solutions


Solution 1 - Macos

Try using brew for example if already using Python 3:

$ brew unlink python

Then install python 3.6.5:

$ brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb

To get back to python 3.7.4_1 use:

$ brew switch python 3.7.4_1

And if need 3.6 again switch with:

$ brew switch python 3.6.5_1

Solution 2 - Macos

If you are using mac, you can install pyenv from Brew, install the desired versions, list the installed versions, and activate each version locally or globally.

brew install pyenv
pyenv install 3.6.9
pyenv install 3.7.4    
pyenv versions
pyenv global 3.7.4 3.6.9
$ python3.6 --version 
Python 3.6.9 

$ python3.7 --version
Python 3.7.4

PS: Global activation worked only after restarting the computer. You need to prepend $(pyenv root)/shims to the left of your PATH environment variable.

Solution 3 - Macos

When you mess around with system python versions, I strongly recommend using pyenv - it makes life so much easier. You would simply run

brew install pyenv
pyenv install 3.6.5
pyenv install 3.7.4

Then you can run pyenv local [python version]

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionSamView Question on Stackoverflow
Solution 1 - MacosnbariView Answer on Stackoverflow
Solution 2 - MacosluisdemarchiView Answer on Stackoverflow
Solution 3 - MacoswontonView Answer on Stackoverflow