2019-06-14 11:51:59 4647瀏覽
本篇文章扣丁學堂Python培訓小編給讀者們解析一下Python兩大環(huán)境管理神器pyenv和virtualenv,對此感興趣的小伙伴隨小編來了解一下吧,希望對小伙伴們有幫助。
pyenv 是一個開源的Python版本管理工具,可以輕松地給系統(tǒng)安裝任意Python版本,想玩哪個版本,瞬間就可以切換。有了pyenv,我們不需要再為系統(tǒng)多版本Python共存問題而發(fā)愁,也不用為手動編譯安裝其他Python版本而浪費時間,只需要執(zhí)行一條簡單的命令就可以切換并使用任何其他版本,該工具真正地做到了開箱即用,簡單實用。
virtualenv是一個用來創(chuàng)建完全隔離的Python虛擬環(huán)境的工具,可以為每個項目工程創(chuàng)建一套獨立的Python環(huán)境,從而可以解決不同工程對Python包,或者版本的依賴問題。假如有A和B兩個工程,A工程代碼要跑起來需要requests 1.18.4,而B工程跑起來需要 requests 2.18.4,這樣在一個系統(tǒng)中就無法滿足兩個工程同時運行問題了。最好的解決辦法是用virtualenv給每個工程創(chuàng)建一個完全隔離的 Python 虛擬環(huán)境,給每個虛擬環(huán)境安裝相應版本的包,讓程序使用對應的虛擬環(huán)境運行即可。這樣既不影響系統(tǒng)Python環(huán)境,也能保證任何版本的Python程序可以在同一系統(tǒng)中運行。
最佳實踐:使用pyenv安裝任何版本的Python,然后用virtualenv創(chuàng)建虛擬環(huán)境時指定需要的Python版本路徑,這樣就可以創(chuàng)建任何版本的虛擬環(huán)境,這樣的實踐真是極好的!
pyenv的安裝及使用:
1、安裝
將 pyenv 安裝到 ~/.pyenv 目錄(當然你可以安裝到任意其他路徑)
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
配置環(huán)境變量(我的 Shell 是 zsh,如果是 bash,請?zhí)砑拥?~/.bashrc)
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
添加 pyenv 初始化(我的 Shell 是 zsh,如果是 bash,請?zhí)砑拥?~/.bashrc)
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
使當前 Shell 配置生效,完成安裝
exec $SHELL source ~/.zshrc
2、使用
查看有哪些 Python 版本可以安裝
pyenv install --list
安裝某個 Python 版本
pyenv install -v 3.6.4
查看當前 Python 版本情況(* 表示系統(tǒng)當前的 Python 版本,system表示系統(tǒng)初始版本)
$ pyenv versions system 2.6.7 * 3.6.4 (set by /Users/haohao/.pyenv/version)
切換 Python 版本(切換之后查看當前版本)
$ pyenv global 3.6.4 $ pyenv versions system * 3.6.4 (set by /Users/haohao/.pyenv/version) $ python -V Python 3.6.4
卸載某個 Python 版本
pyenv uninstall 3.6.4
virtualenv 的安裝及使用
1、安裝
sudo pip install virtualenv
2、使用
下面我們使用 virtualenv 創(chuàng)建一個完全隔離的 Python 虛擬環(huán)境:
1、新建一個目錄(一般用來用作工程路徑)
$ mkdir myproject
2、進入目錄創(chuàng)建一個完全獨立干凈的虛擬環(huán)境
如果 virtualenv 后面不加任何參數(shù),那么默認創(chuàng)建的虛擬環(huán)境的 Python 版本是系統(tǒng)當前版本,如果要創(chuàng)建其他版本,可以使用 -p 參數(shù)指定其他版本的 python 可執(zhí)行文件路徑。可執(zhí)行文件可以在上一步安裝的 pyenv 的 ~/.pyenv/versions 路徑找到,該路徑是 pyenv 管理的所有 Python 版本路徑。
# 使用系統(tǒng)當前的 Python 版本創(chuàng)建虛擬環(huán)境 $ virtualenv venv New python executable in /Users/haohao/PycharmProjects/myproject/venv/bin/python # 創(chuàng)建虛擬環(huán)境時指定 Python 版本 $ virtualenv -p ~/.pyenv/versions/2.6.7/bin/python venv Running virtualenv with interpreter /Users/haohao/.pyenv/versions/2.6.7/bin/python New python executable in /Users/haohao/PycharmProjects/myproject/venv/bin/python Installing setuptools<37, pip, wheel<0.30...done.
3、激活創(chuàng)建的虛擬環(huán)境并使用
可以看出當前虛擬環(huán)境版本已經(jīng)是 Python 2.6.7 了,而且所在路徑確實是在上一步創(chuàng)建的虛擬環(huán)境路徑。接下來使用 pip 安裝的任何包都會安裝在虛擬環(huán)境目錄里面,不會安裝在系統(tǒng)標準目錄,從而保證當前環(huán)境是絕對干凈的,對于系統(tǒng)是完全隔離的。
$ source venv/bin/activate $ which python /Users/haohao/PycharmProjects/myproject/venv/bin/python $ python -V Python 2.6.7
4、退出虛擬環(huán)境,回到系統(tǒng)版本
$ deactivate
想要了解更多關于Python開發(fā)方面內(nèi)容的小伙伴,請關注扣丁學堂Python培訓官網(wǎng)、微信等平臺,扣丁學堂IT職業(yè)在線學習教育有專業(yè)的Python講師為您指導,此外扣丁學堂老師精心推出的Python視頻教程定能讓你快速掌握Python從入門到精通開發(fā)實戰(zhàn)技能??鄱W堂Python技術交流群:279521237。
【關注微信公眾號獲取更多學習資料】 【掃碼進入Python全棧開發(fā)免費公開課】