mac自带的python2.7不能删除,因为很多系统模块依赖,所以我们使用pyenv来安装python3.8版本,这样就可以并存。
1、安装Brew(OS X的套件管理器,类似ubuntu的apt-get),需要科学上网,网址如下:http://brew.sh/index_zh-cn.html
或者直接用终端命令安装
/bin/bash -c "$(curl -fsSL http://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
2、安装pyenv,命令如下:
brew update
brew install pyenv
3、安装Python
现在,我们可以查看一下可安装的python版本
pyenv install -l
我们选择安装最新的3.8.2
pyenv install 3.8.2
国内会很慢,需要开科学,详情:https://www.jianshu.com/p/616e1a3ada21
安装完成之后需要对数据库进行更新
pyenv rehash
查看系统已安装的版本:
pyenv versions
*号表示系统当前正在使用的版本 ,可以看到是在system上面,
python查看 发现依然是2.7版本
切换python版本
pyenv global 3.8.2
pyenv versions
确认python版本
python
为了每次打开命令行窗口,都能自动启用pyenv使用虚拟环境里的python,
macOS Catalina(10.15) 还有一个重大的变化 —— 因为 zsh 已经取代 bash,成为了新版操作系统中的默认 shell
mac 10.14以及更早到版本:
vi .bash_profile
mac 10.15以及之后到版本:
vi ~/.zshrc
添加内容:
export PYENV_ROOT="$HOME/.pyenv"
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
保存后,命令行输入
source .bash_profile
或者
source ~/.zshrc
生效
输入python即可使用新版本的python;
系统自带的脚本会以/usr/bin/python的方式直接调用老版本的python,因而不会对系统脚本产生影响;
pip3 --version显示
pip 8.1.1 from /Users/corek/.pyenv/versions/3.5.4/lib/python3.5/site-packages (python 3.5)
可以看到pip版本也是3.5.4的了。
使用pip安装第三方模块时会安装到~/.pyenv/versions/3.5.4下,不会和系统模块发生冲突。
使用pip安装模块后,可能需要执行pyenv rehash更新数据库
可以使用pip install --upgrade pip更新到新版本pip8.1.2