最近學習Python有點多,特別是一些關於Python的問題也隨之而來了,今天小猿圈Python講師就總結些知識點,但願幫助正在學習Python的同窗,今天分享的是Python兩大環境管理神器pyenv和virtualenv。python
pyenv是一個開源的Python版本管理工具,能夠輕鬆地給系統安裝任意Python版本,想玩哪一個版本,瞬間就能夠切換。有了pyenv,咱們不須要再爲系統多版本Python共存問題而發愁,也不用爲手動編譯安裝其餘Python版本而浪費時間,只須要執行一條簡單的命令就能夠切換並使用任何其餘版本,該工具真正地作到了開箱即用,簡單實用。git
virtualenv是一個用來建立徹底隔離的Python虛擬環境的工具,能夠爲每一個項目工程建立一套獨立的Python環境,從而能夠解決不一樣工程對Python包,或者版本的依賴問題。假若有A和B兩個工程,A工程代碼要跑起來須要requests1.18.4,而B工程跑起來須要requests2.18.4,這樣在一個系統中就沒法知足兩個工程同時運行問題了。最好的解決辦法是用virtualenv給每一個工程建立一個徹底隔離的Python虛擬環境,給每一個虛擬環境安裝相應版本的包,讓程序使用對應的虛擬環境運行便可。這樣既不影響系統Python環境,也能保證任何版本的Python程序能夠在同一系統中運行。github
最佳實踐:使用pyenv安裝任何版本的Python,而後用virtualenv建立虛擬環境時指定須要的Python版本路徑,這樣就能夠建立任何版本的虛擬環境,這樣的實踐真是極好的!bash
pyenv的安裝及使用:工具
一、安裝學習
將pyenv安裝到~/.pyenv目錄(固然你能夠安裝到任意其餘路徑)cdn
gitclonehttps://github.com/yyuu/pyenv.git~/.pyenv視頻
配置環境變量(個人Shell是zsh,若是是bash,請添加到~/.bashrc)blog
echo'exportPYENV_ROOT="$HOME/.pyenv"'>>~/.zshrc教程
echo'exportPATH="$PYENV_ROOT/bin:$PATH"'>>~/.zshrc
添加pyenv初始化(個人Shell是zsh,若是是bash,請添加到~/.bashrc)
echo'eval"$(pyenvinit-)"'>>~/.zshrc
使當前Shell配置生效,完成安裝
exec$SHELL
source~/.zshrc
二、使用
查看有哪些Python版本能夠安裝
pyenvinstall--list
安裝某個Python版本
pyenvinstall-v3.6.4
查看當前Python版本狀況(*表示系統當前的Python版本,system表示系統初始版本)
$pyenvversions
system
2.6.7
*3.6.4(setby/Users/haohao/.pyenv/version)
切換Python版本(切換以後查看當前版本)
$pyenvglobal3.6.4
$pyenvversions
system
*3.6.4(setby/Users/haohao/.pyenv/version)
$python-V
Python3.6.4
卸載某個Python版本
pyenvuninstall3.6.4
virtualenv的安裝及使用
一、安裝
sudopipinstallvirtualenv
二、使用
下面咱們使用virtualenv建立一個徹底隔離的Python虛擬環境:
一、新建一個目錄(通常用來用做工程路徑)
$mkdirmyproject
二、進入目錄建立一個徹底獨立乾淨的虛擬環境
若是virtualenv後面不加任何參數,那麼默認建立的虛擬環境的Python版本是系統當前版本,若是要建立其餘版本,可使用-p參數指定其餘版本的python可執行文件路徑。可執行文件能夠在上一步安裝的pyenv的~/.pyenv/versions路徑找到,該路徑是pyenv管理的全部Python版本路徑。
#使用系統當前的Python版本建立虛擬環境
$virtualenvvenv
Newpythonexecutablein/Users/haohao/PycharmProjects/myproject/venv/bin/python
#建立虛擬環境時指定Python版本
$virtualenv-p~/.pyenv/versions/2.6.7/bin/pythonvenv
Runningvirtualenvwithinterpreter/Users/haohao/.pyenv/versions/2.6.7/bin/python
Newpythonexecutablein/Users/haohao/PycharmProjects/myproject/venv/bin/python
Installingsetuptools<37,pip,wheel<0.30...done.
三、激活建立的虛擬環境並使用
能夠看出當前虛擬環境版本已是Python2.6.7了,並且所在路徑確實是在上一步建立的虛擬環境路徑。接下來使用pip安裝的任何包都會安裝在虛擬環境目錄裏面,不會安裝在系統標準目錄,從而保證當前環境是絕對乾淨的,對於系統是徹底隔離的。
$sourcevenv/bin/activate
$whichpython
/Users/haohao/PycharmProjects/myproject/venv/bin/python
$python-V
Python2.6.7
四、退出虛擬環境,回到系統版本
$deactivate
想要了解更多關於Python開發方面內容的小夥伴,請關注我或者到小猿圈去觀看Python交流羣:242719133。在IT電子行業如此激烈的環境下,笑到最後的纔是贏家,但就目前趨勢Python的將來昭然若揭,想學習Python的小夥伴能夠到小猿圈觀看最新最全面視頻教程。