在Mac上同时安装Python3.6和Python3.7

时间:2018-08-07 11:56:04

标签: macos tensorflow python-3.6 python-3.7

我正在尝试使用Python3.7在Mac上安装tensorflow。但是,我得到了错误:

$ 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

据我所知,这是因为tensorflow尚不支持Python3.7。作为一种解决方法,我想将Python3.6与3.7一起安装,然后将tensorflow安装到该版本。但是,我是Mac的新手,因此不确定在不混淆现有Python版本的情况下执行此操作的正确方法。

我尝试使用brew,但是Python3看起来非常具体。做我追求的正确方法是什么?

4 个答案:

答案 0 :(得分:82)

例如,如果已经使用Python 3,请尝试使用brew

$ brew unlink python

然后install python 3.6.5

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

要返回python 3.7.0,请使用:

$ brew switch python 3.7.0

如果需要3.6,请再次切换:

$ brew switch python 3.6.5_1

答案 1 :(得分:3)

如果使用的是Mac,则可以从Brew安装pyenv,安装所需的版本,列出已安装的版本,然后在本地或全局激活每个版本。

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:全局激活仅在重新启动计算机后才起作用。您需要在$(pyenv root)/shims环境变量的 left 前面加上PATH

答案 2 :(得分:2)

当您弄乱系统python版本时,我强烈建议使用pyenv-它使生活变得更加轻松。您只需运行

pyenv install 3.6.5
pyenv install 3.7.4

然后您可以运行pyenv local [python version]

答案 3 :(得分:-1)

您需要使用

为Python 3.6创建一个单独的虚拟环境。
python3.6 -m venv env-name

您可以如下激活该环境:

source env-name/bin/activate

然后在此环境中安装其他软件包。

文档链接:https://docs.python.org/3/tutorial/venv.html

编辑1: 您可以安装Anaconda / Miniconda来管理Python环境。 以下是安装后用于开始使用Conda的命令:

conda create -n env-name anaconda python=3.6

激活conda环境:

source path-to-env/bin/activate