这里介绍通过pyenv进行Python版本的管理
安装
Mac下直接使用Homebrew安装
1 | # 更新 Homebrew 的软件列表 |
然后执行下述命令,其会自动检测你所使用的shell环境,并提示如何配置shell环境
1 | pyenv init |
这里我们使用的Shell是zsh,故将相关配置添加到用户目录下的.zshrc文件即可
1 | # Zsh Shell配置 |
常用命令
查看可安装的Python版本
1 | pyenv install --list |
安装指定版本Python
1 | pyenv install <version> |
查看已安装版本Python、当前活动的Python版本
同时会在当前被激活的版本前添加星号。如果未激活任何版本Python,则默认在system行显示星号
1 | # 查看已安装的Python版本 |
卸载指定版本Python
1 | pyenv uninstall <version> |
切换Python版本
1. 设置全局的Python版本
1 | # 设置 全局的Python版本 |
3. 设置当前目录下的Python版本
后续进入该目录后,会自动切换到此前设置的Python版本。具体地,其会在该目录下生成一个.python-version文件,用于记录设置的Python版本信息。显然,该设置的优先级高于全局的Python版本
1 | # 设置 当前目录下的Python版本 |
3. 设置当前Shell会话的Python版本
该设置的优先级高于 基于目录设置的Python版本 和 全局的Python版本
1 | # 设置 当前Shell会话的Python版本 |
总结下,三种不同Python版本设置的优先级依次递减
1 | shell > local > global |
镜像加速
pyenv安装python是从python官网下载的,速度非常慢。虽然不能直接更改pyenv下载的镜像源。但我们可以将从其他地方下载的安装包放置在 ~/.pyenv/cache/ 目录下,这样pyenv就会利用本地文件进行安装。这里我们利用Shell定义一个pyinstall函数,脚本文件pyenvFunc.sh内容如下
1 |
|
由于我们使用的Shell是zsh,故在用户目录下的.zshrc文件中引用pyenvFunc.sh脚本即可
1 | ... |
至此就可以使用pyinstall命令来安装不同版本的python了