致Python初學(xué)者們 - Anaconda入門使用指南

打算學(xué)習(xí) Python 來做數(shù)據(jù)分析的你馆类,是不是在開始時(shí)就遇到各種麻煩呢男娄?

  • 到底該裝 Python2 呢還是 Python3 毅往?
  • 為什么安裝 Python 時(shí)總是出錯(cuò)檩淋?
  • 怎么安裝工具包呢芬为?
  • 為什么提示說在安裝這個(gè)工具前必須先安裝一堆其他不明所以的工具萄金?

相信大多數(shù) Python 的初學(xué)者們都曾為環(huán)境問題而頭疼不已,但你并不孤獨(dú)媚朦,大家都是這么折騰過來的氧敢。為了在入門時(shí)少走彎路,并且讓高漲的積極性不至于太受打擊询张,這里推薦使用 Anaconda 來管理你的安裝環(huán)境和各種工具包孙乖。

本文介紹了Anaconda的使用,全文大綱如下:

  • 為什么選擇 Anaconda
  • 什么是 Anaconda
  • 什么是 conda
  • Anaconda 的優(yōu)點(diǎn)
  • 如何安裝 Anaconda
  • 如何管理 Python 包
  • 如何管理 Python 環(huán)境

一份氧、為什么選擇Anaconda唯袄?

1.1 什么是 Anaconda?

Anaconda是專注于數(shù)據(jù)分析的Python發(fā)行版本蜗帜,包含了conda恋拷、Python等190多個(gè)科學(xué)包及其依賴項(xiàng)。作為好奇寶寶的你是不是發(fā)現(xiàn)了一個(gè)新名詞 conda厅缺,那么你一定會(huì)問 conda 又是什么呢蔬顾?

1.2 什么是 conda ?

conda 是開源包(packages)和虛擬環(huán)境(environment)的管理系統(tǒng)湘捎。

  • packages 管理: 可以使用 conda 來安裝诀豁、更新 、卸載工具包 窥妇,并且它更關(guān)注于數(shù)據(jù)科學(xué)相關(guān)的工具包舷胜。在安裝 anaconda 時(shí)就預(yù)先集成了像 Numpy、Scipy活翩、 pandas逞带、Scikit-learn 這些在數(shù)據(jù)分析中常用的包。另外值得一提的是纱新,conda 并不僅僅管理Python的工具包展氓,它也能安裝非python的包。比如在新版的 Anaconda 中就可以安裝R語言的集成開發(fā)環(huán)境 Rstudio脸爱。

  • 虛擬環(huán)境管理: 在conda中可以建立多個(gè)虛擬環(huán)境遇汞,用于隔離不同項(xiàng)目所需的不同版本的工具包,以防止版本上的沖突簿废。對(duì)糾結(jié)于 Python 版本的同學(xué)們空入,我們也可以建立 Python2 和 Python3 兩個(gè)環(huán)境,來分別運(yùn)行不同版本的 Python 代碼族檬。

知道 是什么(what) 的同時(shí)歪赢,我們也需要問一問 為什么(why)。那么单料,為什么要選擇用Anaconda呢埋凯?

1.3 Anaconda 的優(yōu)點(diǎn)点楼?

Anaconda的優(yōu)點(diǎn)總結(jié)起來就八個(gè)字:省時(shí)省心、分析利器白对。

  • 省時(shí)省心: Anaconda通過管理工具包掠廓、開發(fā)環(huán)境、Python版本甩恼,大大簡化了你的工作流程蟀瞧。不僅可以方便地安裝、更新条摸、卸載工具包悦污,而且安裝時(shí)能自動(dòng)安裝相應(yīng)的依賴包,同時(shí)還能使用不同的虛擬環(huán)境隔離不同要求的項(xiàng)目钉蒲。

  • 分析利器:Anaconda 官網(wǎng)中是這么宣傳自己的:適用于企業(yè)級(jí)大數(shù)據(jù)分析的Python工具塞关。其包含了720多個(gè)數(shù)據(jù)科學(xué)相關(guān)的開源包,在數(shù)據(jù)可視化子巾、機(jī)器學(xué)習(xí)帆赢、深度學(xué)習(xí)等多方面都有涉及。不僅可以做數(shù)據(jù)分析线梗,甚至可以用在大數(shù)據(jù)和人工智能領(lǐng)域椰于。

解決了 是什么 以及 為什么 的問題后,下面讓我們看一下 怎么做(How)仪搔。


二瘾婿、如何安裝Anaconda?

可以從這里下載 Anaconda 的安裝程序以及查看安裝說明烤咧。無論是 Windows偏陪、Linux 還是 MAC 的 OSX 系統(tǒng),都可以找到對(duì)應(yīng)的安裝軟件煮嫌。如果你的電腦是64位則盡量選64位版本笛谦。至于 Python 的版本是 2.7 還是 3.x,這里推薦你使用 Python3昌阿,因?yàn)?Python2 終將停止維護(hù)饥脑。可能目前市面上大多數(shù)教程使用的都還是 Python2懦冰,這也不用著急灶轰,因?yàn)樵?Anaconda 中可以同時(shí)管理兩個(gè) Python 版本的環(huán)境。

根據(jù)提示進(jìn)行安裝刷钢,完成后你大概會(huì)驚訝地發(fā)現(xiàn)電腦中多了好多應(yīng)用笋颤,不用擔(dān)心,我們一項(xiàng)項(xiàng)來看:

  • Anaconda Navigator :用于管理工具包和環(huán)境的圖形用戶界面内地,后續(xù)涉及的眾多管理命令也可以在 Navigator 中手工實(shí)現(xiàn)伴澄。
  • Jupyter notebook :基于web的交互式計(jì)算環(huán)境赋除,可以編輯易于人們閱讀的文檔,用于展示數(shù)據(jù)分析的過程秉版。
  • qtconsole :一個(gè)可執(zhí)行 IPython 的仿終端圖形界面程序贤重,相比 Python Shell 界面茬祷,qtconsole 可以直接顯示代碼生成的圖形清焕,實(shí)現(xiàn)多行代碼輸入執(zhí)行,以及內(nèi)置許多有用的功能和函數(shù)祭犯。
  • spyder :一個(gè)使用Python語言秸妥、跨平臺(tái)的、科學(xué)運(yùn)算集成開發(fā)環(huán)境沃粗。

安裝完成后粥惧,我們還需要對(duì)所有工具包進(jìn)行升級(jí),以避免可能發(fā)生的錯(cuò)誤最盅。打開你電腦的終端突雪,在命令行中輸入:

conda upgrade --all

在終端詢問是否安裝如下升級(jí)版本時(shí),輸入 y涡贱。

有的情況下咏删,你可能會(huì)遇到找不到 conda 命令的錯(cuò)誤提示,這很可能是環(huán)境路徑設(shè)置的問題问词,需要添加conda環(huán)境變量:export PATH=xxx/anaconda/bin:$PATH, 其中xxx替換成anaconda的安裝路徑督函。

至此,安裝完成激挪,下面讓我們看一下如何用 Anaconda 管理工具包和環(huán)境辰狡。


三、如何管理Python包垄分?

安裝一個(gè) package:

conda install package_name

這里 package_name 是需要安裝包的名稱宛篇。你也可以同時(shí)安裝多個(gè)包,比如同時(shí)安裝numpy 薄湿、scipy 和 pandas些己,則執(zhí)行如下命令:

conda install numpy scipy pandas

你也可以指定安裝的版本,比如安裝 1.1 版本的 numpy :

conda install numpy=1.10

移除一個(gè) package:

conda remove package_name

升級(jí) package 版本:

conda update package_name

查看所有的 packages:

conda list

如果你記不清 package 的具體名稱嘿般,也可以進(jìn)行模糊查詢:

conda  search search_term

四段标、如何管理Python環(huán)境?

默認(rèn)的環(huán)境是 root炉奴,你也可以創(chuàng)建一個(gè)新環(huán)境:

conda create -n env_name  list of packages

其中 -n 代表 name逼庞,env_name 是需要?jiǎng)?chuàng)建的環(huán)境名稱,list of packages 則是列出在新環(huán)境中需要安裝的工具包瞻赶。

例如赛糟,當(dāng)我安裝了 Python3 版本的 Anaconda 后派任,默認(rèn)的 root 環(huán)境自然是 Python3,但是我還需要?jiǎng)?chuàng)建一個(gè) Python 2 的環(huán)境來運(yùn)行舊版本的 Python 代碼璧南,最好還安裝了 pandas 包掌逛,于是我們運(yùn)行以下命令來創(chuàng)建:

conda create -n py2 python=2.7 pandas 

細(xì)心的你一定會(huì)發(fā)現(xiàn),py2 環(huán)境中不僅安裝了 pandas司倚,還安裝了 numpy 等一系列 packages豆混,這就是使用 conda 的方便之處,它會(huì)自動(dòng)為你安裝相應(yīng)的依賴包动知,而不需要你一個(gè)個(gè)手動(dòng)安裝皿伺。

進(jìn)入名為 env_name 的環(huán)境:

source activate env_name

退出當(dāng)前環(huán)境:

source deactivate

另外注意,在 Windows 系統(tǒng)中盒粮,使用 activate env_namedeactivate 來進(jìn)入和退出某個(gè)環(huán)境鸵鸥。

刪除名為 env_name 的環(huán)境:

conda env remove -n env_name

顯示所有的環(huán)境:

conda env list

當(dāng)分享代碼的時(shí)候,同時(shí)也需要將運(yùn)行環(huán)境分享給大家丹皱,執(zhí)行如下命令可以將當(dāng)前環(huán)境下的 package 信息存入名為 environment 的 YAML 文件中妒穴。

conda env export > environment.yaml

同樣,當(dāng)執(zhí)行他人的代碼時(shí)摊崭,也需要配置相應(yīng)的環(huán)境讼油。這時(shí)你可以用對(duì)方分享的 YAML 文件來創(chuàng)建一摸一樣的運(yùn)行環(huán)境。

conda env create -f environment.yaml

至此爽室,你已跨入 Anaconda 的大門汁讼,后續(xù)就可以徜徉在 Python 的海洋中了。

祝學(xué)習(xí)愉快阔墩!


注:本文代碼示例參考自Udacity數(shù)據(jù)分析課程之Anaconda章節(jié)嘿架。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末忘苛,一起剝皮案震驚了整個(gè)濱河市蝉娜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌扎唾,老刑警劉巖召川,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異胸遇,居然都是意外死亡荧呐,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來倍阐,“玉大人概疆,你說我怎么就攤上這事》逄拢” “怎么了岔冀?”我有些...
    開封第一講書人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長概耻。 經(jīng)常有香客問我使套,道長,這世上最難降的妖魔是什么咐蚯? 我笑而不...
    開封第一講書人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任童漩,我火速辦了婚禮弄贿,結(jié)果婚禮上春锋,老公的妹妹穿的比我還像新娘。我一直安慰自己差凹,他們只是感情好期奔,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著危尿,像睡著了一般呐萌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上谊娇,一...
    開封第一講書人閱讀 51,155評(píng)論 1 299
  • 那天肺孤,我揣著相機(jī)與錄音,去河邊找鬼济欢。 笑死赠堵,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的法褥。 我是一名探鬼主播茫叭,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼半等!你這毒婦竟也來了揍愁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤杀饵,失蹤者是張志新(化名)和其女友劉穎莽囤,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體切距,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡朽缎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片饵沧。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡锨络,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出狼牺,到底是詐尸還是另有隱情羡儿,我是刑警寧澤,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布是钥,位于F島的核電站掠归,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏悄泥。R本人自食惡果不足惜虏冻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望弹囚。 院中可真熱鬧厨相,春花似錦、人聲如沸鸥鹉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽毁渗。三九已至践磅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間灸异,已是汗流浹背府适。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留肺樟,地道東北人檐春。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像儡嘶,于是被迫代替她去往敵國和親喇聊。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353

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