pyenv in Action

最近在做 AI 相关的工作,Python 作为科学第一语言又被拾起,不过 macOS 中用的依然是 2.7,十年前曾因这个版本放弃 Python,好在现在 Python3 已经比较普及了,如今自然也不会用它。

使用 pyenv 可以安装多个python版本,并通过命令切换当前使用哪个版本。


安装 pyenv

1
2
3
$ xcode-select --install
$ brew install openssl readline xz

安装

1
git clone https://github.com/pyenv/pyenv.git ~/.pyen

配置 .zshrc

1
2
3
4
5
6
7
8
9
10
# pyenv for Python
# ===================
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

删除 pyenv

卸载很简单,直接删除 ~/.pyenv 目录即可。也要去掉 .zshrc 加入的语句。


安装使用 python

查看可安装的版本

1
$ pyenv install --list

安装 python3 当前最新版本 3.6.4:

1
2
3
4
5
6
7
$ pyenv install 3.6.4
python-build: use openssl from homebrew
python-build: use readline from homebrew
Installing Python-3.6.4...
python-build: use readline from homebrew
Installed Python-3.6.4 to /Users/lanvige/.pyenv/versions/3.6.4

设置为全局版本

1
2
3
$ pyenv global 3.6.4
$ python -V

全局还是用系统自带的,可以这样设置:

1
$ pyenv global system

当前目录下使用python 3.6.4

1
$ pyenv local 3.6.4


国内加速

  1. pyenv搜狐镜像源加速:http://mirrors.sohu.com/python/
  2. 下载需要的版本放到~/.pyenv/cache文件夹下面
  3. 然后执行 pyenv install 版本号 安装对应的python版本
  4. 傻瓜式脚本如下,其中v表示要下载的版本号
1
v=3.6.4|wget [http://mirrors.sohu.com/python/$v/Python-$v.tar.xz](http://mirrors.sohu.com/python/$v/Python-$v.tar.xz) -P ~/.pyenv/cache/;pyenv install $v


QA

安装时遇到 “zlib not available”

1
xcode-selectinstall


REF::