Anaconda

依照Python官方的方法手工安裝python和tensorflow以及一個(gè)個(gè)手工安裝眾多的模塊是很麻煩的,也常出現(xiàn)難纏的奇葩問題啄刹。
這個(gè)文章帶領(lǐng)大家完全從零開始利用Anaconda一下子把Python和上百個(gè)科學(xué)計(jì)算模塊都裝好,并且開始用Python真正的編寫代碼凄贩。

Anaconda介紹

Anaconda [?n?'kɑnd?] 水蟒誓军。它是一個(gè)Python語言的免費(fèi)增值發(fā)行版,用于進(jìn)行大規(guī)模數(shù)據(jù)處理, 預(yù)測(cè)分析, 和科學(xué)計(jì)算, 致力于簡化模塊的管理和部署疲扎。

logo

免費(fèi)增值:有免費(fèi)版也有收費(fèi)版昵时,或者軟件免費(fèi)但有內(nèi)購,總之椒丧,發(fā)行者還是希望用戶付錢的壹甥。Anaconda是由Anaconda公司開發(fā)和發(fā)行的,可以完全免費(fèi)使用瓜挽,但該公司還有其他收費(fèi)產(chǎn)品如Anaconda Enterprise(企業(yè)版)和Training(培訓(xùn)與認(rèn)證)等

Python發(fā)行版:由于Python是開源的盹廷,就像小米華為都基于Android安卓開發(fā)了各自的手機(jī)系統(tǒng)一樣征绸,也有很多公司對(duì)Pytho進(jìn)行改造和再包裝久橙,然后免費(fèi)發(fā)行出來或者商業(yè)銷售俄占。當(dāng)然,這些第三方的發(fā)行版或多或少都會(huì)做一些有價(jià)值的改進(jìn)淆衷,否則也就沒有存在的必要了缸榄。常見的Python發(fā)行版除了Anaconda外還有WinPython、Python(x,y)等祝拯,但易用度和流行度都不如Anaconda甚带。

模塊化開發(fā)

我們實(shí)際編程開發(fā)中使用的Python并不僅僅是指從Python官方網(wǎng)站下載的那個(gè)安裝包所帶來的內(nèi)容,也不是僅僅是指使用Python官方的那些編程命令來寫代碼佳头。

我們不會(huì)真的自己親手去寫每一個(gè)功能鹰贵,那樣的話全世界會(huì)有成千上萬的程序員反反復(fù)復(fù)寫著同樣的功能同樣的代碼,——這太浪費(fèi)了康嘉。

我們可以把自己曾經(jīng)寫好的一段代碼重新拿來在新的編程項(xiàng)目里面使用碉输,就好像把一張照片復(fù)制一份放到新的相冊(cè)一樣。同樣我們擴(kuò)大到更多人亭珍,大家把自己寫好的一段段代碼貢獻(xiàn)出來敷钾,互相分享,互相借鑒(復(fù)制)肄梨,這樣一來阻荒,我們真實(shí)的編程開發(fā)就變成了用各種代碼片段來搭積木了。這就是模塊化众羡。

全世界的開發(fā)者已經(jīng)為Python開發(fā)了數(shù)以萬計(jì)的各種模塊侨赡,實(shí)現(xiàn)千變?nèi)f化的功能,我們可以把這些模塊自由組合成各種軟件和程序粱侣。


模塊化開發(fā)

那么問題也來了辆毡,怎么安裝別人編寫的模塊?安裝后怎么卸載甜害?怎么更新已經(jīng)用到的模塊舶掖?如果Jack開發(fā)的A模塊里面又使用了Tom開發(fā)的B模塊,這種情況又該怎么辦尔店?

我們需要一個(gè)模塊管理工具眨攘,就像手機(jī)的App store應(yīng)用商店那樣來幫我們管理各種各樣的模塊。

在編程領(lǐng)域嚣州,并不會(huì)使用一個(gè)有界面的軟件來做模塊管理鲫售,因?yàn)槌绦騿T們更喜歡直接輸入命令代碼,比如shangdian anzhuang wangzherongyao(讓應(yīng)用商店安裝一個(gè)王者榮耀)该肴。

在Anaconda中就自帶了這樣一個(gè)模塊管理器情竹,它的名字不叫shangdian,而是叫做conda匀哄,后面我們會(huì)學(xué)到具體怎么召喚它出來干活秦效。

Anaconda的商店還自帶了“模塊全家桶”雏蛮,當(dāng)大家安裝Anaconda的時(shí)候,默認(rèn)就把超過150個(gè)數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)相關(guān)的常用模塊都安裝好阱州,這就讓我們省了很多事挑秉。

下載與安裝

直接進(jìn)入Anaconda官方站點(diǎn)然后點(diǎn)擊右上角【Download】按鈕,進(jìn)入下載頁面之后選擇Windows版本或者M(jìn)acOS蘋果電腦版本苔货,然后點(diǎn)擊左邊Python3.6版本的Download按鈕就會(huì)開始下載了犀概。
因?yàn)橛袛?shù)百個(gè)模塊打包在一起,所以文件比較大夜惭,請(qǐng)慢慢等待姻灶。

下載安裝包

也可以從**百度云下載Anaconda5.2的Win/Mac安裝文件 密碼:1jc3

下載后直接安裝,一步一步都使用默認(rèn)選項(xiàng)不修改即可(VS code可以skip跳過)诈茧。
windows下這個(gè)安裝過程可能很慢木蹬,需要十幾分鐘。

安裝完成后若皱,打開命令行工具(windows的Anaconda Prompt[pr?mpt],Mac下使用終端)镊叁,輸入conda info回車,應(yīng)該得到類似下面的信息走触。

Windows10要使用Anaconda Prompt命工具晦譬,在【所有程序列表-Anaconda3下面】,或者直接在小娜搜索框里輸入Anaconda也可以找到它互广。MacOS直接使用系統(tǒng)的命令行工具在【全部程序-實(shí)用工具-終端】敛腌。

Anaconda信息

如果你是專業(yè)人士,更多不同版本的安裝包在這里

數(shù)據(jù)科學(xué)全家桶

在命令行工具輸入conda list然后回車惫皱,在列表中尋找是否有下面幾個(gè)模塊像樊,這些我們?cè)诤竺娑紩?huì)經(jīng)常用到:

  • Numpy 基礎(chǔ)的科學(xué)計(jì)算庫,可以用它做各種矩陣運(yùn)算旅敷。
  • Pandas 基于Numpy的數(shù)據(jù)分析工具生棍,擅長處理數(shù)據(jù)。
  • Scipy 是Python中核心的科學(xué)計(jì)算工具包媳谁,包含了像積分涂滴、插值、統(tǒng)計(jì)晴音、圖像等等很多工具,與Numpy緊密結(jié)合柔纵。
  • Scikit-learn 機(jī)器學(xué)習(xí)庫,包含了大量的機(jī)器學(xué)習(xí)算法和數(shù)據(jù)集锤躁,很容易上手使用搁料。
  • Matplotlib 知名的圖表繪制工具,用于數(shù)據(jù)可視化幫助我們理解數(shù)據(jù)和監(jiān)視機(jī)器學(xué)習(xí)的過程。
  • Seaborn 基于matplotlib的更方便好用的數(shù)據(jù)可視化工具郭计。

使用Conda

conda是模塊管理工具(商店)霸琴,我們先嘗試用它來安裝著名的深度學(xué)習(xí)框架tensorflow。

在終端或者prompt里面輸入命令conda install tensorflow拣宏,然后會(huì)出現(xiàn)Solving environment轉(zhuǎn)圈好一會(huì)請(qǐng)耐心等待沈贝,然后出現(xiàn)很多文字表示哪些內(nèi)容將要被下載和安裝:

安裝tensorflow

我們輸入y確認(rèn)開始杠人。然后就會(huì)看到很多下載和安裝進(jìn)度勋乾。過一會(huì)最后會(huì)顯示done表示完成。

如果遇到出錯(cuò)嗡善,可以重新conda install tensorflow再試幾次就會(huì)成功了辑莫。

下面是更多的一些conda命令:

  • conda info 查看conda自身的信息
  • conda update conda 更新升級(jí)conda自己
  • conda install xxx 安裝某個(gè)模塊
  • conda update xxx 更新升級(jí)某個(gè)模塊
  • conda --help 顯示幫助文字內(nèi)容
  • conda list 顯示所有已經(jīng)安裝的模塊
  • conda remove xxx 刪除某個(gè)已經(jīng)安裝的模塊
  • python --version 顯示python的版本

更多常用conda命令看這里

使用Anaconda navigator

Anaconda還自帶了一個(gè)有界面的工具管理箱Anaconda navigator,如下圖:


navigator

在Home里面可以看到各種已經(jīng)安裝的有用的工具罩引,尤其是jupyter lab和jupyter notebook各吨,在后續(xù)我們都會(huì)一直使用,現(xiàn)在你也可以點(diǎn)進(jìn)去看一下袁铐。

Environment環(huán)境里面可以看到我們已經(jīng)安裝的各種模塊揭蜒。

Python版本 :Python這個(gè)編程語言(本質(zhì)也是個(gè)軟件程序)一直在不斷升級(jí)更新,比如我們使用上面的python --version看到的版本是3.6.5剔桨,過幾個(gè)月可能就會(huì)升級(jí)到3.6.8甚至3.8屉更、4.0之類。但是洒缀,我們現(xiàn)在寫的代碼是用的3.6.5的標(biāo)準(zhǔn)規(guī)則瑰谜,升級(jí)之后難免會(huì)有些變化,甚至導(dǎo)致我們現(xiàn)在寫的代碼在明年就會(huì)有問題树绩。
模塊版本:當(dāng)然我們編程的時(shí)候還會(huì)引用很多其他人發(fā)布的模塊萨脑,而這些模塊如果升級(jí)了,我們的代碼也可能在模塊的新版本里面就不能正常運(yùn)行饺饭。
Environment環(huán)境:我們編寫的代碼依賴于當(dāng)時(shí)的python版本和所有引用的模塊版本才能正常運(yùn)行渤早,這些版本的約束就是python編程的Environment環(huán)境,如果環(huán)境變了就可能會(huì)出問題瘫俊;同樣如果我們以后要修改以前的舊代碼蛛芥,也要再返回到舊的Environment環(huán)境才能順利修改。如果我們切換不同的環(huán)境军援,conda命令(比如安裝仅淑、刪除等)都會(huì)只針對(duì)這個(gè)環(huán)境來操作。所以我們可以在環(huán)境A使用python2.7的語法編程胸哥,在環(huán)境B使用python3.6的語法涯竟。
Channel渠道:是指conda install命令從哪里下載需要安裝的模塊包。默認(rèn)都是從Anaconda下載的。

Hello world!

學(xué)習(xí)任何編程語言的開始都是從讓計(jì)算機(jī)輸出一行hello world!文字開始的庐船。
我們從Anaconda navigator的Home打開Jupyter notebook银酬。

Jupyter [?d??pa?t?]是一個(gè)完全生造的詞,可能是從jupiter木星/丘比特一詞演化得到的筐钟。

Jupyter notebook其實(shí)是打開一個(gè)網(wǎng)頁揩瞪,但很像是文件管理器,你可以在這里創(chuàng)建自己的文件篓冲,并編寫代碼李破。


文件列表

右上角New按鈕可以創(chuàng)建Python3代碼、文字文件或者文件夾壹将。如圖我在桌面Desktop這里創(chuàng)建了一個(gè)Untitled Folder文件夾嗤攻。
點(diǎn)擊文件夾的小圖標(biāo)可以Rename改名。


改名之后點(diǎn)進(jìn)去文件夾诽俯,然后New一個(gè)Python 3文件妇菱。
在輸入框中輸入print('Hello world!'),然后按【shift+回車】,這行代碼就會(huì)被運(yùn)行暴区,下面顯示出Hello world闯团!

hello world

當(dāng)前這個(gè)代碼文件還是叫Untitled,你可以直接點(diǎn)擊上面紅線指示的Untitled文字修改文件名仙粱。返回到剛才的文件夾頁面房交,可以看到這個(gè).ipynb文件。


folder文件

后續(xù)我們會(huì)使用Jupyter notebook帶領(lǐng)大家一起學(xué)習(xí)Python編程和機(jī)器學(xué)習(xí)的知識(shí)內(nèi)容缰盏。

相關(guān)資源

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末涌萤,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子口猜,更是在濱河造成了極大的恐慌负溪,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件济炎,死亡現(xiàn)場(chǎng)離奇詭異川抡,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)须尚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門崖堤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人耐床,你說我怎么就攤上這事密幔。” “怎么了撩轰?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵胯甩,是天一觀的道長昧廷。 經(jīng)常有香客問我,道長偎箫,這世上最難降的妖魔是什么木柬? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮淹办,結(jié)果婚禮上眉枕,老公的妹妹穿的比我還像新娘。我一直安慰自己怜森,他們只是感情好速挑,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著塔插,像睡著了一般梗摇。 火紅的嫁衣襯著肌膚如雪拓哟。 梳的紋絲不亂的頭發(fā)上想许,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音断序,去河邊找鬼流纹。 笑死,一個(gè)胖子當(dāng)著我的面吹牛违诗,可吹牛的內(nèi)容都是我干的漱凝。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼诸迟,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼茸炒!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起阵苇,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤壁公,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后绅项,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體紊册,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年快耿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了囊陡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡掀亥,死狀恐怖撞反,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情搪花,我是刑警寧澤遏片,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布垛膝,位于F島的核電站,受9級(jí)特大地震影響丁稀,放射性物質(zhì)發(fā)生泄漏吼拥。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一线衫、第九天 我趴在偏房一處隱蔽的房頂上張望凿可。 院中可真熱鬧,春花似錦授账、人聲如沸枯跑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽敛助。三九已至,卻和暖如春屋确,著一層夾襖步出監(jiān)牢的瞬間纳击,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來泰國打工攻臀, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留焕数,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓刨啸,卻偏偏與公主長得像堡赔,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子设联,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

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