python多版本和虛擬環(huán)境(pyenv+conda or virtualenv)

python 版本有

2.7.X
3.X
Anaconda2
Anaconda3

pyenv

pyenv是一個(gè)管理各個(gè)python版本的管理器翎苫×憔郏可以在系統(tǒng)里同時(shí)保留多個(gè)python版本,等需要時(shí)定義需要的版本些侍。

項(xiàng)目地址

安裝

看項(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)目地址

安裝

看項(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)文檔中搜索一下蘑险。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末滴肿,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子佃迄,更是在濱河造成了極大的恐慌泼差,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件呵俏,死亡現(xiàn)場離奇詭異堆缘,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)普碎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進(jìn)店門套啤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人随常,你說我怎么就攤上這事√蜒模” “怎么了绪氛?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長涝影。 經(jīng)常有香客問我枣察,道長,這世上最難降的妖魔是什么燃逻? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任序目,我火速辦了婚禮,結(jié)果婚禮上伯襟,老公的妹妹穿的比我還像新娘猿涨。我一直安慰自己,他們只是感情好姆怪,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布叛赚。 她就那樣靜靜地躺著澡绩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪俺附。 梳的紋絲不亂的頭發(fā)上肥卡,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天,我揣著相機(jī)與錄音事镣,去河邊找鬼步鉴。 笑死,一個(gè)胖子當(dāng)著我的面吹牛璃哟,可吹牛的內(nèi)容都是我干的氛琢。 我是一名探鬼主播,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼沮稚,長吁一口氣:“原來是場噩夢啊……” “哼艺沼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蕴掏,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤障般,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后盛杰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體挽荡,經(jīng)...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年即供,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了定拟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,625評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡逗嫡,死狀恐怖青自,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情驱证,我是刑警寧澤延窜,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站抹锄,受9級特大地震影響逆瑞,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜伙单,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一获高、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧吻育,春花似錦念秧、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽庄吼。三九已至,卻和暖如春严就,著一層夾襖步出監(jiān)牢的瞬間总寻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工梢为, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留渐行,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蠕嫁。 傳聞我的和親對象是個(gè)殘疾皇子钮追,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,492評論 2 348

推薦閱讀更多精彩內(nèi)容