在 MacOS 上安装 Python 3 的多个版本

Install mulitple versions of Python 3 on MacOS

我想在 MacOS 上安装多个版本的 Python 3。例如,我需要 Python3.6 和 Python3.7。使用 Linux 时,我会简单地通过从源代码构建 Python 来创建替代安装,如下所示:

  1. 下载特定 Python 版本的源压缩包并解压
  2. ./configure
  3. sudo make
  4. sudo make altinstall

然后我会在 usr/local/lib/pythonx.x 中安装新版本的 Python。

这在 Linux 上非常有效。我将如何在 MacOS 上访问 Python 3 的多个版本?

编辑: 只是为了进一步阐明我的用例。我在 OS 上安装的 Python 上使用了多个版本,这样我就可以将 Pipenv 用于指定不同 Python 版本的不同项目。

pyenv就是你想要的。效果非常好:

pyenv lets you easily switch between multiple versions of Python. It's simple, unobtrusive, and follows the UNIX tradition of single-purpose tools that do one thing well. This project was forked from rbenv and ruby-build, and modified for Python.

https://github.com/pyenv/pyenv

通过 Homebrew 安装它:

$ brew update
$ brew install pyenv

它为您处理各种python的下载、编译和安装,例如:

$ pyenv install 3.7.2

它可以显示您安装了哪些版本,哪些版本处于活动状态:

$ pyenv versions
  system
  3.6.7
* 3.7.2

当你在一个新的项目目录中时,只需告诉 pyenv 在那里使用哪个 python 版本:

$ pyenv local 3.6.7  # Because e.g. tensorflow isn't compat. with 3.7 :-(

您可以在其他地方设置 'default' 版本:

$ pyenv global 3.7.2

它与 pipenv 搭配也很好。

安装二进制文件:

转到 https://www.python.org/downloads/mac-osx/,下载 32/64 位安装程序并按照安装说明进行操作。

从源安装:

curl -OL http://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz  
tar xzvf Python-3.7.2.tgz  
cd Python-3.7.2  
./configure --prefix=/usr/local --enable-shared
make  
make install