Installing different versions of Python in macOS

没想到现在竟然有机会强制学习Python。。。


Background

刚开始时时间太匆忙,为了完成作业就先往系统里直接安了Python3.7,然后忘记我怎么折腾的最后把系统内置的Python2.7给删了。完了新的一门课又需要用到Python2,现在又要想办法在本子里弄多版本。于是就有了下面的步骤。


以下操作都在Terminal中进行:

1. 安装pyenv

这就是一个python多版本管理器。有了它!就可以!装很多个版本的Python!在电脑里啦!还可以!爱怎么切换!就怎么切!

具体安装步骤在它GitHub的wiki中介绍很清楚了。

这是pyenv的GitHub地址

2. 使用pyenv

看看当前系统里有哪些已经安装的Python版本,前面打星星的是当前使用的版本:

pyenv versions

查看当前使用版本也可以用:

pyenv version

查看可供安装的Python版本列表:

pyenv install -l

安装!比如我想装2.7.10,因为我把这个自带的给删了。。。

pyenv install 2.7.10

如果顺利的话是不会出现下面的失败错误提示的,我也不会把这么简单的破步骤记下来。。


这是一个错误!

macOS系统版本:

10.14

安装失败提示:

ERROR: The Python zlib extension was not compiled. Missing the zlib? 


这是找到的办法!

还是stackoverflow靠谱的,找到了情况和我一样的问题:这是地址

结果最后还是叫我去pyenv的GitHub里找答案:这是办法

下面就把办法直白的翻译以下:

Build failed: “ERROR: The Python zlib extension was not compiled. Missing the zlib?”

Installing Python-2.7.7…

ERROR: The Python zlib extension was not compiled. Missing the zlib?

Please consult to the Wiki page to fix the problem.

https://github.com/yyuu/pyenv/wiki/Common-build-problems

BUILD FAILED

第一步:(它补了一句)xcode command line tools 需要先安装:

xcode-select –install

第二步:在macOS X 10.9, 10.10, 10.11 and 10.13 在安装新版本Python时为了能找到zlib头文件,需要设置CFLAGS环境变量:

CFLAGS=”-I$(xcrun –show-sdk-path)/usr/include” pyenv install -v 2.7.10

第三步:如果已经用Homebrew安装了zlib,那就设置CPPFLAGSIf you installed 环境变量:

CPPFLAGS=”-I/usr/local/opt/zlib/include” pyenv install -v 3.7.0

第四步:重新安装XCode command line tools。如果系统版本是Mojave或者更高(10.14+)的话,还需要安装其他的SDK头文件

xcode-select –install

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /


好了大概就是这样,照着上面一顿操作之后重新试试安装Python,我是成功了。

以上!