如何使用 pyenv 进行 Python 多版本管理(以 Python-3.7.2 为例)macOS Mojave

一、安装 Homebrew

在终端输入下列代码:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

如果要检测 Homebrew 是否安装成功,在终端输入:
brew -v

若安装正确,终端中会显示当前安装的 Homebrew 版本信息:

在这里插入图片描述
升级到新版本的 Homebrew:
brew update

安装软件包:
brew install XXXX

更新软件包:
brew upgrade XXXX

如果不写具体的软件包就是更新所有可更新的软件包。

二、安装 pyenv

在终端输入下列代码:
brew install pyenv

检测 pyenv 是否安装成功,在终端输入:
pyenv -v

若安装正确,终端中会显示当前安装的 pyenv 版本信息:
在这里插入图片描述

1.编辑 .bash_profile 文件

切换到用户的 Home 目录,在终端输入:
cd ~

打开 .bash_profile 文件,在终端输入:
open .bash_profile

若文件不存在,创建 .bash_profile 文件,在终端输入:
touch .bash_profile

打开并编辑 .bash_profile 文件,在终端输入:
open -e .bash_profile

在弹出的 .bash_profile 文件中增加以下内容,并按 command + s 保存文件:
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
在这里插入图片描述

使用更新之后的 .bash_profile 内容,在终端输入:
source .bash_profile

2.安装 zlib 依赖

笔者还不清楚zlib依赖具体是做什么的,大概就是一个解压缩工具?

brew install zlib

将 zlib 的头文件及库文件添加至系统默认的路径,如果更新 zlib 版本记得重新添加,否则可能会出现问题:
ln -s /usr/local/Cellar/zlib/1.2.8/include/* /usr/local/include
ln -s /usr/local/Cellar/zlib/1.2.8/lib/* /usr/local/lib

三、安装Python

通过 pyenv 查看可安装的 Python 版本,在终端输入:
pyenv install --list
在这里插入图片描述
通过 pyenv 安装所需版本的 Python,在终端输入:
pyenv install <version>

以安装 Python-3.7.2 为例,在终端输入:
pyenv install 3.7.2

通过 pyenv 查看已安装过的 Python 版本,在终端输入:
pyenv versions

若安装正确,终端中会显示当前安装的 Python 版本信息:
在这里插入图片描述

解决可能会出现的“*** [install] Error 1”错误

注:如果没有出现此错误请跳过此步骤

在执行通过 pyenv 安装所需版本的 Python 命令行后,可能会出现以下错误:

zipimport.ZipImportError: can't decompress data; zlib not available 
make: *** [install] Error 1

下载并安装命令行工具,在终端输入:
xcode-select --install

再次使用 pyenv 安装所需版本的 Python,在终端输入:
pyenv install <version>

以安装 Python-3.6.0 为例,在终端输入:
pyenv install 3.6.0

通过pyenv查看已安装过的 Python 版本,在终端输入:
pyenv versions

若安装正确,终端中会显示当前安装的 Python 版本信息:

注:系统自带版本的 Python 显示为 system,当前正在使用的 Python 版本前有星号作为标识。

若还是出现问题,则可以去 Apple 官网下载独立的 Xcode 工具,进行手动安装:
https://developer.apple.com/download/more/

四、切换 Python 版本

1.切换全局的 Python 版本

将全局的 Python 切换为指定版本,在终端输入:
pyenv global <version>

以切换至 Python-3.7.2 为例,在终端输入:
pyenv global 3.6.0

检测是否切换成功,在终端输入:
python

若切换成功则显示相应版本 Python,退出 Python 返回终端操作,在“>>>”后输入:
exit(0)

将全局的 Python 切换回系统自带版本,在终端输入:
pyenv global system

2.切换目标目录的 Python 版本

切换到指定的目录,在终端输入:
cd <directory>

以切换至 /Users/caiyutong/Documents/workspace for python 目录为例,在终端输入:
cd /Users/caiyutong/Documents/"workspace for python"

将当前目录下的 Python 切换为指定版本,在终端输入:
pyenv local <version>

以切换至 Python-3.7.2 为例,在终端输入:
pyenv local 3.6.0

检测是否切换成功,在终端输入:
python

若切换成功则显示相应版本 Python,退出 Python 返回终端操作,在“>>>”后输入:
exit(0)

将全局的 Python 切换回系统自带版本,在终端输入:
pyenv local system

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值