m1 macos 安装 python2

Python官方宣布 2020 年 1 月后不再更新维护 Python2,homebrew 官方也不推荐安装 python2 了。但是,历史遗留问题没法解决,需要用到依赖 python2 的包的时候,还是需要安装 python2。目前 macos 可以通过 pyenv 安装 python2。

// 先更新 homebrew
brew update
// 然后安装 pyenv
brew install pyenv

如果 homebrew 使用的非官方源,那么在安装 pyenv 的时候可能报错:

tar: Error opening archive: Failed to open '/Users/zhouxitao/Library/Caches/Homebrew/downloads/ad46a5a60b2948a91c235d8e24bb732d859473901d6b368f1810770ddd7048cb--readline-8.1.arm64_big_sur.bottle.tar.gz'

如果报错了,切换为官方源再安装。

unset HOMEBREW_BOTTLE_DOMAIN
brew install pyenv

然后安装 python2

arch -x86_64 pyenv install 2.7.18

前面的 arch -x86_64 不要丢,否则会报错。

另外,下载比较慢,可能需要翻墙。

接着,设置环境变量

// ~/.zshrc 文件添加如下一行
export PATH="$(pyenv root)/shims:${PATH}"
// 生效配置
source ~/.zshrc

这时,还无法在命令行使用 python,需要设置安装的 python 版本为全局 python

pyenv global 2.7.18
python --version

问题来了,如果某个项目需要 python3 怎么办?假设 python3 已经通过 pyenv 安装好了,这时可以设置当前 shell 的 python 指向。

pyenv shell 3.6.5