2019-07-13Anaconda(轉(zhuǎn)載的別人的)

Anaconda入門

Anaconda簡介

Anaconda是一個方便的python包管理和環(huán)境管理軟件冠绢,一般用來配置不同的項目環(huán)境码党。

我們常常會遇到這樣的情況德崭,正在做的項目A和項目B分別基于python2和python3,而第電腦只能安裝一個環(huán)境揖盘,這個時候Anaconda就派上了用場眉厨,它可以創(chuàng)建多個互不干擾的環(huán)境,分別運行不同版本的軟件包兽狭,以達(dá)到兼容的目的蚂会。

Anaconda通過管理工具包形纺、開發(fā)環(huán)境、Python版本,大大簡化了你的工作流程叼架。不僅可以方便地安裝兑牡、更新跨扮、卸載工具包酱固,而且安裝時能自動安裝相應(yīng)的依賴包,同時還能使用不同的虛擬環(huán)境隔離不同要求的項目蒸健。

anaconda的安裝

windows下anaconda安裝

非常簡單座享,前往Anaconda官網(wǎng)即可下載安裝婉商,國內(nèi)用戶可以到清華大學(xué)TUNA鏡像站下載,安裝過程中注意到這一步

path.png

其中第一項指將Anaconda的默認(rèn)環(huán)境設(shè)置添加到系統(tǒng)環(huán)境渣叛,也就是說如果你之前安裝過python并添加到了環(huán)境丈秩,選了這一項之后原來的python會被覆蓋掉,默認(rèn)使用Anaconda的默認(rèn)環(huán)境淳衙。

第二項指設(shè)置Anaconda的默認(rèn)環(huán)境為python3.5.

安裝完成后Anaconda會創(chuàng)建一個叫base的默認(rèn)環(huán)境蘑秽,如果你不切換到其他指定環(huán)境,就會一直在默認(rèn)環(huán)境運行箫攀。

linux ubuntu系統(tǒng)Anaconda安裝

下載Anaconda.sh 如果無法運行的話修改一下權(quán)限

sudo chmod +x 文件名

sudo ./文件名

看完版權(quán)聲明設(shè)置完就好了

安裝完成后如果沒有加入系統(tǒng)環(huán)境windows需要通過Anaconda Prompt運行(anaconda prompt還有一個好處就是可以顯示圖表)肠牲,如果加入系統(tǒng)環(huán)境變量就可以在cmd運行了

pystatus.png

我選擇了加入系統(tǒng)變量,我們可以看到我的python顯示為Anaconda版

anconda使用conda作為包管理工具靴跛,也就是anaconda把一些常用的python包統(tǒng)一管理缀雳,可以方便的安裝、更新和卸載包梢睛。

conda常用命令

conda --version 查看conda版本conda -Vconda --help獲取幫助conda -hconda update --helpconda remove --help

--help 都可以換成-h

Anaconda環(huán)境管理

接下來我們先研究單一環(huán)境下的Anaconda環(huán)境管理肥印。

conda env --help

剛剛系統(tǒng)默認(rèn)創(chuàng)建了名叫base的默認(rèn)環(huán)境,我們可以使用conda命令查看當(dāng)前有多少環(huán)境

conda env list 查看所有環(huán)境

或者

conda info --envs

condaenv.png

我們可以看到只有一個base绝葡,也就是剛剛安裝的時候勾選的帶有python3.5的環(huán)境深碱,還有一些py3的包

如果現(xiàn)在我需要一個python2.7的和tensorflow1.0的環(huán)境該怎么辦呢

輸入

conda create --name your_env_name?

或者?

conda create -n your_env_name

your_env_name 就是你新創(chuàng)建的環(huán)境名,你可以在里面安裝其他包但不會與現(xiàn)有環(huán)境沖突

如果你要在創(chuàng)建環(huán)境時指定包內(nèi)容藏畅, 可以用

conda create -n your_env_name python=3.5

如果你要指定多個包 可以用

conda create -n your_env_name python=3.5 numpy pandas

要指定特殊版本號加上=版本號就行莹痢,默認(rèn)是最新的

對了,安裝前為了保障你查詢到最新包情況墓赴,最好使用

`conda update --all 更新包信息。

例如我現(xiàn)在要創(chuàng)建一個名叫 learningpy的基于py3的環(huán)境

conda update --all

conda create -n learningpy python=3.7

create.png

系統(tǒng)會詢問你是否創(chuàng)建航瞭,輸入y回車后诫硕,系統(tǒng)將列出必要安裝的包

conda有一點好處是,如果你需要安裝一個包刊侯,系統(tǒng)將自動檢查這個包需要的前置包并且安裝章办,比如你要安裝TensorFlow,而TensorFlow會用到很多像前置包像pandas滨彻、matiplot等藕届,如果你在單純的python下沒有安裝pandas等包就直接安裝TensorFlow,那么和有可能無法使用亭饵,而使用conda安裝TensorFlow將會詢問你并自動幫你把缺少的前置包安裝好

創(chuàng)建完新的環(huán)境我們查看環(huán)境列表

conda env list

list.png

只要你的硬盤夠大休偶,你就可以創(chuàng)造很多個不同的環(huán)境

那么現(xiàn)在我們有多個環(huán)境了,如何切換環(huán)境呢辜羊?

windows

activate 環(huán)境名

退出時記得退出命令哦

deactivate

linux和mac用戶的命令不一樣

source source activate 環(huán)境名

source deactivate 環(huán)境名

比如我現(xiàn)在進(jìn)入剛剛創(chuàng)建的learningpy環(huán)境

activate learningpy

python --verion

lpy.png

是不是python已經(jīng)變成了3.7版本踏兜,我現(xiàn)在的環(huán)境已經(jīng)和剛剛的環(huán)境沒有關(guān)系了~~~

一些常用命令

創(chuàng)建一個新環(huán)境想克隆一部分舊的環(huán)境condacreate-nyour_env_name--cloneoldname刪除某個環(huán)境condaremove-nyour_env_name--all導(dǎo)出環(huán)境配置(非常有用词顾,比如你想幫朋友安裝和你一模一樣的環(huán)境,你可以直接導(dǎo)出一個配置文件給他碱妆,就能免除很多人力安裝調(diào)試)condaenvexport>environment.yml將會在當(dāng)前目錄生成一個environment.yml,你把它交給小伙伴或拷到另一臺機(jī)器肉盹,小伙伴只需要對這個文件執(zhí)行命令condaenvcreate-fenvironment.yml就可以生成和你原來一模一樣的環(huán)境啦

anaconda包管理

上文我們提到了創(chuàng)建環(huán)境時的包管理,那么我們創(chuàng)建好環(huán)境后如何進(jìn)行包的安裝疹尾、更新和卸載呢上忍?

當(dāng)然我們?nèi)稳豢梢酝ㄟ^pip安裝更新刪除

這里我們介紹conda

condalist列舉當(dāng)前環(huán)境下的所有包condalist-n packagename 列舉某個特定名稱包conda install packagename 為當(dāng)前環(huán)境安裝某包conda install -n envname packagename 為某環(huán)境安裝某包conda search packagename 搜索某包conda updata packagename 更新當(dāng)前環(huán)境某包conda update -n envname packagename 更新某特定環(huán)境某包conda remove packagename 刪除當(dāng)前環(huán)境某包conda remove -n envname packagename 刪除某環(huán)境環(huán)境某包

conda本身和anaconda、python本身也算包

conda update conda

conda update anaconda

conda update python

conda默認(rèn)源可能速度比較慢

可以添加其他源纳本,常用的有清華TUNA

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/conda config --setshow_channel_urls yes 在包后面顯示來源

第三條執(zhí)行安裝包時會顯示來自哪個源窍蓝,一目了然

source.png

教育網(wǎng)用戶可以添加ipv6源,速度很快

conda config --add channels https://mirrors6.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors6.tuna.tsinghua.edu.cn/anaconda/pkgs/main/conda config --setshow_channel_urls yes 在包后面顯示來源

anaconda實現(xiàn)原理解析

anaconda在目錄下的envs文件夾保存了環(huán)境配置饮醇,也就是把所有的安裝在這個環(huán)境下的包放在同一個文件夾中

當(dāng)創(chuàng)建一個新環(huán)境時它抱,anaconda將在envs中創(chuàng)建一個新的文件夾,這個文件夾包括了你安裝在這個環(huán)境中的所有包

anaconda通過巧妙的包管理解決的一個大難題朴艰,確實方便了很多观蓄。

下一期會講如何在第三方軟件中使用anaconda的不同環(huán)境配置。

作者:MachinePlay

鏈接:http://www.reibang.com/p/742dc4d8f4c5

來源:簡書

簡書著作權(quán)歸作者所有祠墅,任何形式的轉(zhuǎn)載都請聯(lián)系作者獲得授權(quán)并注明出處侮穿。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市毁嗦,隨后出現(xiàn)的幾起案子亲茅,更是在濱河造成了極大的恐慌,老刑警劉巖狗准,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件克锣,死亡現(xiàn)場離奇詭異,居然都是意外死亡腔长,警方通過查閱死者的電腦和手機(jī)袭祟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來捞附,“玉大人巾乳,你說我怎么就攤上這事∧裾伲” “怎么了胆绊?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長欧募。 經(jīng)常有香客問我压状,道長,這世上最難降的妖魔是什么槽片? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任何缓,我火速辦了婚禮肢础,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘碌廓。我一直安慰自己传轰,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布谷婆。 她就那樣靜靜地躺著慨蛙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪纪挎。 梳的紋絲不亂的頭發(fā)上期贫,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天,我揣著相機(jī)與錄音异袄,去河邊找鬼通砍。 笑死,一個胖子當(dāng)著我的面吹牛烤蜕,可吹牛的內(nèi)容都是我干的封孙。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼讽营,長吁一口氣:“原來是場噩夢啊……” “哼虎忌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起橱鹏,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤膜蠢,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后莉兰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體挑围,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年糖荒,在試婚紗的時候發(fā)現(xiàn)自己被綠了贪惹。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡寂嘉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出枫绅,到底是詐尸還是另有隱情泉孩,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布并淋,位于F島的核電站寓搬,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏县耽。R本人自食惡果不足惜句喷,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一镣典、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧唾琼,春花似錦兄春、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至祭饭,卻和暖如春芜茵,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背倡蝙。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工九串, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人寺鸥。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓猪钮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親析既。 傳聞我的和親對象是個殘疾皇子躬贡,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,947評論 2 355