python 版本有
2.7.X
3.X
Anaconda2
Anaconda3
pyenv
pyenv是一個(gè)管理各個(gè)python版本的管理器翎苫×憔郏可以在系統(tǒng)里同時(shí)保留多個(gè)python版本,等需要時(shí)定義需要的版本些侍。
安裝
看項(xiàng)目地址中的readme
使用
pyenv install --list
查看pyenv可安裝的版本列表
pyenv install anaconda2-4.2.0
pyenv uninstall x.x.x
安裝和卸載指定版本,會將python版本安裝在$(pyenv root)/versions/
中
pyenv versions
查看當(dāng)前已經(jīng)安裝了的python版本岗宣。輸出內(nèi)容中,system關(guān)鍵字是系統(tǒng)python版本。 *表示當(dāng)前環(huán)境所處的版本躲叼。
pyenv global anaconda2
全局切換為anaconda科學(xué)計(jì)算環(huán)境(不建議這么做),做了如果要恢復(fù)枫慷,則將最后一個(gè)參數(shù)改為--unset
pyenv local python3.4.1
當(dāng)前環(huán)境接環(huán)让蕾。在當(dāng)前目錄以下探孝。如果要恢復(fù),則將最后一個(gè)參數(shù)改為--unset
virtualenv
本來這是一個(gè)單獨(dú)的軟件用來虛擬一個(gè)python版本環(huán)境誉裆,讓每個(gè)工作環(huán)境都有一套獨(dú)立的python各自的第三方插件互不影響顿颅。然而在 pyenv 下有一個(gè)插件 pyenv-virtualenv 他可以在 pyenv 的環(huán)境下?lián)?fù)起 virtualenv 的事情。(如果使用的是原生python可以用這個(gè)工具足丢,如果用的是anaconda則不用這個(gè)粱腻,用下一章說的conda工具來完成虛擬環(huán)境)
安裝
看項(xiàng)目地址中的readme
使用
pyenv virtualenv 2.7.1 env271
在當(dāng)前目錄下創(chuàng)建一個(gè) python 版本為2.7.1的環(huán)境,環(huán)境名字為 env271斩跌。 這個(gè)環(huán)境的真實(shí)目錄位于~/.pyenv/versions/
pyenv activate env271
(創(chuàng)建時(shí)并不激活)激活當(dāng)前環(huán)境绍些。此時(shí)已經(jīng)進(jìn)入虛擬環(huán)境,在當(dāng)前環(huán)境下所有pip等操作都不會影響系統(tǒng)環(huán)境和系統(tǒng)路徑耀鸦。
pyenv deactivate
離開已激活的環(huán)境柬批,切換回系統(tǒng)環(huán)境。但并沒有被刪除,下次依舊可以啟動(dòng)氮帐。
pyenv uninstall env271
刪除一個(gè)環(huán)境嗅虏,當(dāng)然也可以到真實(shí)目錄下刪除文件夾。
conda
本來不想用這個(gè)的揪漩,但是因?yàn)?pyenv-virtualenv 有一些問題旋恼,無法很好的管理conda環(huán)境,比如有一些anaconda 自帶的一些命令(例如pylint)無法被使用奄容。因此還是老老實(shí)實(shí)使用 conda 來管理虛擬環(huán)境冰更。
安裝
conda 是自帶于 anaconda 的所以并不需要額外安裝,如果在 anaconda 環(huán)境中就可以使用昂勒。conda 不僅可以進(jìn)行 環(huán)境管理蜀细,還可以包管理,和對 anaconda和conda 進(jìn)行版本升級戈盈。
使用
由于conda使用方法太多奠衔,因此這里羅列一些常用的主要是一些虛擬環(huán)境的命令。具體的到官網(wǎng)文檔去查看一下塘娶。
首先conda工具是需要在anaconda環(huán)境下的归斤,因此先執(zhí)行pyenv local anaconda3-4.2.0
進(jìn)入anaconda環(huán)境后就可以執(zhí)行conda工具了。
conda create --name myflakes python=x.x anaconda
conda create --help
創(chuàng)建一個(gè)虛擬環(huán)境刁岸≡嗬铮可以指定名字,指定包虹曙,甚至制定python(這樣的話就python版本管理了所以不建議使用迫横,python版本管理交給pyenv),所以命令中 python=x.x 可以不寫
conda info --envs
conda env list
羅列已經(jīng)創(chuàng)建的環(huán)境酝碳,兩條命令是一樣的矾踱。
source activate myflakes //Linux,OSX
activate myflakes //Windows
激活一個(gè)環(huán)境。和virtualenv一樣疏哗,創(chuàng)建不等于激活呛讲。激活后才能真正使用虛擬環(huán)境。
如果發(fā)生錯(cuò)誤Error: activate must be sourced. Run 'source activate envname'
說明activate命令沒有找對沃斤,導(dǎo)致錯(cuò)誤圣蝎。吧命令改成
source <PATH TO ANACONDA>/anaconda3/bin/activate <ENV NAME>
這樣就能成功建立虛擬環(huán)境了。
conda remove --name myflakes --all
刪除一個(gè)虛擬環(huán)境衡瓶。
conda create --name flowers --clone snowflakes
復(fù)制一個(gè)虛擬環(huán)境徘公。這個(gè)是個(gè)不錯(cuò)的好功能。
conda env export > environment.yml
conda env create -f environment.yml
conda還能吧環(huán)境配置文件導(dǎo)出哮针,在另一臺機(jī)器上重新讀入配置文件关面,就能復(fù)刻你的環(huán)境了坦袍。
其他使用
conda 還能進(jìn)行包的管理。調(diào)用的是 pip 所以也很棒等太。
conda list
conda list -n myflakes
conda search numpy //查詢package
查看當(dāng)前環(huán)境已安裝包捂齐,用-n指定后,就是查看某個(gè)環(huán)境下的已安裝包
conda install -n myflakes numpy
conda update -n myflakes numpy
conda remove -n myflakes numpy
為某個(gè)指定的環(huán)境安裝包缩抡,升級包奠宜,刪除包。
conda update conda
conda update anaconda
conda update python
它還能升級自身和anaconda和python的版本瞻想。
它和pip一樣也能設(shè)置安裝包的鏡像位置压真。其余還有能使用R命令等等,都到官網(wǎng)文檔中搜索一下蘑险。