python 环境配置记录

python 的版本和环境管理上选择再三,直接安装 Anaconda 的方式应该是最省心的,但是它太大了,很多额外的科学库是我暂时用不上的,最终我选择 pyenv + pyenv-virtualenv 的方式来进行操作。

一、使用 pyenv 进行版本管理

使用 pyenv 管理/切换 python 版本 (Version Manager)

1.1 查看可安装版本

1
pyenv install --list

1.2 安装 python 版本

1
pyenv install 3.6.4rc1

1.3 查看当前已安装的 python 版本

1
pyenv versions

1.4 设置 python 版本

1
2
3
4
5
6
7
8
# 对所有的 shell 有效,会把版本号写入到 ~/.pyenv/version 文件中
pyenv global 3.6.4rc1

# 只对当前目录有效,会在当前目录创建 .python-version 文件
pyenv local 3.6.4rc1

# 只在当前会话有效
pyenv shell 3.6.4rc1

1.5 重置版本设置

只有 pyenv shell 和 pyenv local 命令有 —unset 参数

1
2
pyenv shell --unset
pyenv local --unset

1.6 卸载 Python 版本

1
pyenv uninstall 3.6.3

二、使用 pyenv-virtualenv 进行环境管理

pyenv-virtualenv 是 pyenv 的插件,为 pyenv 设置的 python 版本提供隔离的虚拟环境,设置虚拟环境后,在当前目录下面安装的第三方库都不会影响其他环境 (Environment Manager)

2.1 创建新的环境

1
2
#pyenv virtualenv 版本号 虚拟环境名
pyenv virtualenv 3.6.4rc1 xxx

2.2 查看创建的环境

1
pyenv versions

2.3 激活和停用环境

1
2
3
4
5
6
7
8
9
10
# 手动激活
pyenv activate 虚拟环境名
pyenv deactivate

# 自动激活
# 使用pyenv local 虚拟环境名
# 会把`虚拟环境名`写入当前目录的.python-version文件中
# 关闭自动激活 -> pyenv deactivate
# 启动自动激活 -> pyenv activate xxx
pyenv local xxx

2.4 删除现有virtualenv

1
pyenv uninstall 虚拟环境名

END