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

Posted

技术标签:

【中文标题】在 Mac 上安装 Python3.6 和 Python3.7【英文标题】:Installing Python3.6 alongside Python3.7 on Mac 【发布时间】:2019-01-14 12:14:03 【问题描述】:

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

$ 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 已经非常具体了。我追求的正确方法是什么?

【问题讨论】:

【参考方案1】:

当您使用系统 python 版本时,我强烈建议您使用pyenv - 它让生活变得如此轻松。你只需运行

brew install pyenv
pyenv install 3.6.5
pyenv install 3.7.4

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

【讨论】:

【参考方案2】:

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

【讨论】:

我之前没用过pyenv。最后一个命令后我该怎么办? python36 myscript.pypython3.7 myscript.py 都失败了。 添加,答案是在$(pyenv root)/shims前面加上PATH。我会更新答案来这么说。 需要在.bash_profile中添加export export PATH=$(pyenv root)/shims:PATH 执行@SaravanakumarG 建议的操作完全破坏了我的终端,我不能再使用单个命令了。正确的方法是export PATH="$(pyenv root)/shims:$PATH" 如果您按照@SaravanakumarG 的建议错误地弄乱了您的路径,只需在您的终端中运行 PATH=/bin:/usr/bin,修复导出语句,然后再次获取文件源 ~ /.bash_profile【参考方案3】:

如果已经在使用 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.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 我添加了 --ignore-dependecies 使其工作(sphinx-doc 出现递归依赖错误): brew install --ignore-dependencies raw.githubusercontent.com/Homebrew/homebrew-core/… 是否有适用于 Python 3.6.7 的 brew Formula 链接? Python 3.6.5 有一些严重的问题 - bugs.python.org/issue24658 应该避免安装它! 我也遇到了这个问题Error: No such keg: /usr/local/Cellar/python。它通过安装python,最新版本,使用brew,然后取消链接等等来解决。所以首先使用 brew 安装最新版本。 由于某种原因,在 python 版本之间切换对我不起作用。相反,无论我在哪里使用python,我都会使用python3.6,当使用pip安装软件包时,我使用python3.6 -m pip install package_name

以上是关于在 Mac 上安装 Python3.6 和 Python3.7的主要内容,如果未能解决你的问题,请参考以下文章

Mac下搭建python3.6+appium

Centos 7上安装Python3.x

python3.6 安装 xlrd 模块---Mac

Selenium+python自动化84-python3.6用PyUserInput

mac上Python安装和修改Python默认路径遇到的问题

windows环境配置:同时安装Python2.7和Python3.6开发环境