MacOS如何安装和管理多个版本的python
当我们使用的工具需要用到多个不同python版本时,按照传统的安装方式会有环境变量上的问题,处理起来也比较繁琐。所以pyenv能够帮我们很好的管理python版本,它安装多个python版本,切换全局python版本,创建和管理python虚拟环境。
安装Homebrew
Homebrew是MacOS平台的一个软件包管理工具,能够很方便的安装、卸载工具包。linux平台也有yum、dnf等工具。
执行命令来安装Homebrew,该命令请以最新的官方文档为准
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
如果没有科学工具,安装的时候可能会遇到raw.githubusercontent.com无法访问的问题,我们可以通过修改hosts来解决。修改hosts,可以避免DNS污染,从而让域名指向我们所设置的ip。修改hosts时如果权限不够,我们需要用sudo的权限来修改。
sudo vi /etc/hosts
我们通过域名解析网站获取raw.githubusercontent.com的正确ip,然后添加到/etc/hosts
文件里面,格式例如
185.199.108.133 raw.githubusercontent.com
安装pyenv
不建议使用Homebrew直接安装python,这样不方便多个python版本的管理和切换。
使用Homebrew来安装pyenv
brew install pyenv
没有科学工具的需要设置brew到国内源。
pyenv安装完成会提示我们需要在配置文件中添加eval "$(pyenv init-)"
。旧版本的MacOS默认使用的是bash shell,配置文件的路径是~/.bash_profile
,新版本的MacOS默认使用的是Z shell,配置文件的路径是~/.zshrc
,不过我们可以手动切换shell。
查看当前使用的shell
echo $SHELL
切换为Z shell
chsh -s /bin/zsh
当前使用的是哪个shell就把eval "$(pyenv init-)"
添加到哪个配置文件中。
安装python
pyenv安装完成之后,就可以用pyenv来安装python了。
查看可供安装的python版本
pyenv install --list
安装python的3.8.7版本
pyenv install 3.8.7
查看已安装的所有版本(*表示当前使用的版本)
pyenv versions
切换当前使用的版本为3.8.7
pyenv global 3.8.7
切换后查看python和pip版本
python --version
pip --version
卸载python 3.8.7版本
pyenv uninstall 3.8.7