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


70

我正在尝试使用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看起来像它一样具体。做我追求的正确方法是什么?

Answers:


152

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

$ brew unlink python

然后安装python 3.6.5

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

回到python3.7.4_1使用:

$ brew switch python 3.7.4_1

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

$ brew switch python 3.6.5_1

我收到了错误Error: No such keg: /usr/local/Cellar/python
塞巴斯蒂安

10
我加了-忽略依赖条件,使其工作(与狮身人面像-doc的递归依赖性错误):BREW安装依赖性--ignore raw.githubusercontent.com/Homebrew/homebrew-core/...
文森特Ĵ

3
是否有适用于Python 3.6.7的Brew Formula链接?Python 3.6.5有一些严重的问题-应该避免bugs.python.org/issue24658及其安装!
loretoparisi

我也有这个问题Error: No such keg: /usr/local/Cellar/python。解决方法是使用brew来安装最新版本的python,然后取消链接等。因此,首先使用brew安装最新版本。
Shahin

由于某些原因,在python版本之间切换对我不起作用。相反,无论我在哪里使用python,我都会使用它python3.6,并在使用pip安装软件包时使用python3.6 -m pip install package_name
stevec

34

如果使用的是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左侧添加前缀PATH


我没有用pyenv之前。最后一条命令后我该怎么办?python36 myscript.py并且python3.7 myscript.py都失败。
falsePockets

1
添加,答案是预先准备$(pyenv root)/shimsPATH。我将更新答案,这样说。
falsePockets

有必要将出口添加export PATH=$(pyenv root)/shims:PATH.bash_profile
Saravanakumar G

8

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

brew install pyenv
pyenv install 3.6.5
pyenv install 3.7.4

那你就可以跑 pyenv local [python version]

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.