軟體簡介:
pyenv 是一款特别好用的Python版本管理器,可以在同一台電腦上不同的目錄裡分别運作不同版本的Python, 并且互不影響,安裝的包也互不影響。github項目位址:https://github.com/yyuu/pyenv
pyenv-virtualenv 是pyenv的一個plugin,可以用來建立基于不同Python版本的幹淨的虛拟環境。github項目位址:https://github.com/yyuu/pyenv-virtualenv
安裝:
1、安裝brew
我們brew指令來安裝pyenv和pyenv-virtualenv ,是以先確定mac os上有brew指令。brew指令類似于RHEL的yum和ubuntu的apt-get指令,是用來給mac os安裝軟體包的工具。
如果你的mac os上沒有安裝brew可以參考下面的指令來安裝:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homerew/install/master/install)"
2、安裝zlib
$ brew install zlib
把zlib連結到庫
brew link zlib --force
3、安裝pyenv
安裝好brew後,就可以用brew來安裝pyenv的最新版本了,而且會自動下載下傳依賴包:
$ brew install pyenv #brew安裝pyenv
按照安裝完後,根據Caveats的提示,要添加環境變量到~/.bash_profile檔案裡(如果沒有需要建立,OS X預設是沒有這個檔案的):
export PYENV_ROOT=/usr/local/var/pyenv
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
4、安裝pyenv-virtualenv
$ brew install pyenv-virtualenv
按照安裝完後Caveats的提示,要添加環境變量到~/.bash_profile檔案裡:
if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi
需要使環境變量生效,需要執行source ~/.bash_profile
解除安裝:
如果想要解除安裝 pyenv,執行
brew uninstall pyenv
然後删除之前填在~/.bash_profile檔案裡那兩行。
pyenv使用指南
1、pyenv versions檢視系統的上安裝的Python版本。
$ pyenv versions
*system (set by /Users/yulongjun/.pyenv/version)
*表示目前工作目錄正在使用的是什麼版本,其中的system表示系統自帶的 Python 版本。
2、安裝其他python版本
pyenv install 安裝其他版本的Python。
$ pyenv versions #可以看到2個版本
* system (set by /usr/local/var/pyenv/version)
3.6.3
通過pyenv安裝的版本都會放到/usr/local/var/pyenv/versions/目錄下。
3、pyenv local 切換python版本
舉個例子就明白了:
$ mkdir python36
$ cd python36/
$ pyenv local 3.6.3 #使目前工作目錄使用python3.6.3版本
$ python -V #檢視一下目前目錄用python的版本,确實是3.6.3
Python 3.6.3
$ pip -V #檢視一下pip版本,是3.6.3的pip
pip 9.0.1 from /usr/local/var/pyenv/versions/3.6.3/lib/python3.6/site-packages (python 3.6)
其他版本的工作目錄建立方法類似(如果是用系統自帶版本,用pyenv local system即可)
4、使用pyenv-virtualenv建立虛拟環境
pyenv-virtualenv是用來建立一個幹淨的虛拟Python環境的指令,通常在建立幹淨的新項目時候使用。使用方法如下:
$ pyenv virtualenv 3.6.3 venv-3.6.3-dashboard # 建立一個基于3.6.3版本的虛拟環境venv-3.6.3-dashboard
$ ls /usr/local/var/pyenv/versions/ # 目錄下将建立一個venv-3.6.3-dashboard的虛拟環境
3.6.3 venv-3.6.3-dashboard
其實這裡的venv-3.6.3-dashboard是/usr/local/var/pyenv/versions/3.6.3/envs/venv-3.6.3-dashboard的一個軟連接配接。
5、建立項目,讓項目使用幹淨的Python3.6.3的某個虛拟環境
舉個例子,在任何地方建立你自己的工程目錄,進入你的工程目後,指定虛拟環境:
C02S56M4G8WN:work chunming.liu$ mkdir myproject #建立工程目錄
C02S56M4G8WN:work chunming.liu$ cd myproject/ #進入工程目錄
C02S56M4G8WN:myproject chunming.liu$ pyenv local venv-3.6.3-dashboard #切換成你想用的虛拟環境
(venv-3.6.3-dashboard) C02S56M4G8WN:myproject chunming.liu$ cd .. ##退出工程目錄
C02S56M4G8WN:work chunming.liu$ cd myproject #進入工程目錄
(venv-3.6.3-dashboard) C02S56M4G8WN:myproject chunming.liu$
上面代碼段中(venv-3.6.3-dashboard) 部分表示目前處于venv-3.6.3-dashboard虛拟環境中。當退出工程目錄後,也就退出了虛拟環境。再次進入工程目錄,又自動激活了虛拟環境(指令行前面有(venv-3.6.3-dashboard)),這就是前面我們在~/.bash_profile添加的環境變量的作用,當我們進入和離開工程目錄時,就自動激活和關閉改工程所用的虛拟環境。
6、列出目前的所有虛拟環境
$ pyenv virtualenvs
3.6.3/envs/venv-3.6.3-dashboard (created from /usr/local/var/pyenv/versions/3.6.3)
venv-3.6.3-dashboard (created from /usr/local/var/pyenv/versions/3.6.3)
7、删除虛拟環境
pyenv uninstall my-virtual-env
參考文獻:
https://blog.csdn.net/liuchunming033/article/details/78345286