Mac系统自带的Python是2.x,自己需要Python 3.x,此时需要在系统中安装多个Python,但又不能影响系统自带的Python,即需要实现Python的多版本共存,pyenv就是这样一个Python版本管理器。
安装和管理python的方式很多,pyenv可以安装不同版本的python并轻松切换版本
预备安装的准备条件
# linux下安装准备
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev
# linux下安装准备
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
1.安装pyenv:
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
2. 设置环境变量
# Linux下vim直接编辑环境变量文件:
#vim ~/.bashrc
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
#source ~/.bashrc
#即是启动语句,重启系统执行这条语句
exec $SHELL
# Mac下命令行一行一行执行,将环境变量添加并生效
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
3. 查看pyenv可安装的版本
pyenv install --list
4. 安装和卸载指定版本python
pyenv install -v 3.6.5
# 安装完成之后需要对数据库进行更新:
pyenv rehash
pyenv uninstall 3.6.5
rm -rf ~/.pyenv/versions/3.6.4rc1
5. 查看和切换版本
#tab键可以进行补全,通过versions命令查看大体,细节tab补全
pyenv versions
pyenv local 2.7.13 ##局部文件下版本切换
pyenv global 3.6.5 ##全局系统下的版本切换
6. 本地使用homebrew安装的python3.6.5版本依然存在/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/bin/python3
⚠️注意:
- python2 和 python3 同时存在时,命令python默认是指python2,只有使用python3才是python3版本。
- 系统自带的脚本会以/usr/bin/python的方式直接调用老版本的python,因而不会对系统脚本产生影响;
- 使用pip安装模块后,可能需要执行pyenv rehash更新数据库
- 可以使用pip install --upgrade pip更新到新版本