pyenv in Action

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

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


安装 pyenv

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

macOS 安装 - Homebrew

在 macOS 上,更推荐使用 Homebrew 来进行安装,这样,软件本身的版本升级就变得可以解决了。而 pyenv 就只专注于 python 的版本控制。

- 安装

1
brew install pyenv

- 配置 .zshrc

1
2
3
4
5
6
# pyenv for Python
# ===================
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi

- 更新

1
2
brew update
brew upgrade pyenv

- 删除

1
brew uninstall pyenv

手工安装 - git

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

配置 .zshrc

git 安装,还需要对下载的 pyenv 进行环境的配置。

1
2
3
4
5
6
7
8
9
# 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

###


使用 pip

pip 是 Python 的包管理工具,安装完成后,就可以使用 pip 来进行包的安装了。

包的查找,可以通过这里进行: https://pypi.python.org/pypi

选择正确的 Python 版本:

1
2
3
$ python --version
# Python 3.6.4

- 更新 pip

1
$ pip install --upgrade pip

- 安装 Tensorflow

1
$ pip install tensorflow

- 升级 TensorFlow

1
$ pip install --upgrade tensorflow

该操作会自动删除旧的库的版本。


国内加速

  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::