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更新到新版本