115 views
# Anaconda介紹與安裝(windows10版本) ###### tags: `Python3基礎教學` ### 前言 在開始我們的python基礎教學之前,第一個要做的就是架設我們的python編程環境。 這邊我們不直接安裝python官方網站所提供的python,而是從安裝Anaconda開始,因為Anaconda本身就提供了一個python版本給我們使用,我們就可以省去單獨安裝python的過程了棒棒! ### 基本介紹 初學程式除了關注基本語法的學習,和訓練完成程式功能的邏輯之外,了解有什麼第三方程式庫,也就是別人寫好的模組可供使用也是很重要的一件事。 > 使用第三方程式庫可以讓開法者更方便的完成程式的功能,也可以讓開發者花更多時間構想更高層次的程式功能,而不是辛苦實作比較低階層的程式細節。 比如說在寫一個爬蟲程式,若要處理遠端伺服器的溝通,從伺服器方取得對應網址的html code,通常只要使用requests模組: ```python import requests res = requests.get(url) print(res.text) ``` 就能簡單取得對應url的html code,不用很辛苦的了解封包的細節,並用程式去撰寫正確的封包格式傳送到遠端的伺服器。 一個專案可能會涉及很多不同的高階功能,也就是說會使用到很多的第三方模組,像是一個爬蟲程式,就涉及 * 與伺服器的溝通,取得html code * 解析html code所取得的內容 * 把得到的內容做文字探勘 * 把文字探勘得到的結果圖表化呈現 * 甚至連撰寫這個程式所用到的文字編輯器都會去使用別人寫好的模組(ex. jupyter) 那麼這時候知道什麼模組可使用以及管理不同專案使用的模組就很重要。 可能A專案有用到1.0.0版的x模組,而B專案用到2.0.0版的x模組,通常我們必須管理模組的使用,也就是隔離A專案以及B專案使用的模組集,讓彼此的x模組不會混用而導致錯誤發生。 不只是模組集,不同專案使用的python版本可能也不一樣,比如說一個用3.8版本,另一個比較舊,用的是2.7版,如果是在寫網頁的話,不同的網頁專案需要使用的瀏覽器可能也不一樣,比如說有的網頁主要是在比較現代的chrome瀏覽器,有的網頁就可能要在惡名昭彰的IE瀏覽器呈現嗚嗚QQ 所以每個專案都會有各自的「執行環境」,當我要開發某個A專案的程式的時候,我會叫電腦切到這個執行環境,在這個執行環境裡,我只要一跟電腦說我要開啟python,電腦就會知道我要開啟A專案所需要的3.8版本的python,不會因為我電腦有裝很多版本的python,他就隨便亂拿某個版本的python來乎弄我,然後我要呼叫x模組,電腦也會給我A專案對應版本的x模組。 簡單來說,「執行環境」就包括了開發專案所需要的所有工具,雖然不同專案可能會用到同樣名稱的工具,比如說他們都會用到python,但可能使用的版本不一樣,導致混用時程式可能就跑不起來了OAO,所以現在應該知道要「隔離」不同專案的「執行環境」就非常重要了吧! 而隔離環境就是我們Anaconda工具所提供的主要功能之一,那Anaconda到底是什麼呢?可以先看看維基百科的敘述: > Anaconda是一個免費開源的Python和R語言的發行版本,用於計算科學(資料科學、機器學習、巨量資料處理和預測分析),Anaconda致力於簡化軟體套件管理系統和部署。 Anaconda的包使用軟體套件管理系統Conda進行管理。超過1200萬人使用Anaconda發行版本,並且Anaconda擁有超過1400個適用於Windows、Linux和MacOS的資料科學軟體套件。 看起來非常的厲害!簡單來說我們可以把Anaconda看作是一個資料分析平台,他提供了許多方便用於資料分析領域的軟體或程式,只要下載了Anaconda,不管是程式開發環境、採集數據、製作統計報表、或是套件管理都能使用裡面的工具搞定,而我們的隔離環境就是使用裡面的Conda完成的(Conda會在下一單元作介紹)。 因為Anaconda提供了第三方模組以及隔離專案執行環境的功能,而且只要成功安裝Anaconda,他就已經內建了對應版本的python,還有編輯器Jupyter(下下一個單元會介紹的工具)以及各種好用的模組,完全省去了安裝其他模組的心力和時間成本,非常的方便。 這邊簡單統整一下Anaconda的優點: * 內建許多有用的模組和學習python必要的環境 * 第三方模組管理與檢視 * 隔離不同專案環境 * 甚至能夠安裝並管理專案使用的python版本 * 能夠方便的用一個指令安裝更新或是解安裝工具包 針對以上的優點,只要成功安裝Anaconda就不用再擔心各種安裝依賴的問題。 ### 安裝教學 直接進入Anaconda的[官方網站](https://www.anaconda.com/products/individual),看到最下面的Donload page,點擊windows 64bit的安裝包: ![](https://i.imgur.com/FZ6okzE.png) 開啟安裝程式之後,一直按Next,直到Advanced Installation Options,看到`Add Anaconda3 to my PATH environment variable`,直接給他勾下去就對了,然後Install: ![](https://i.imgur.com/xvyN0Or.png) 然後再一直按下Next就行了。 那假設我們忘了勾選`Add Anaconda3 to my PATH environment variable`怎麼辦呢?這會導致在終端機([什麼是終端機](https://md.taiw.in/s/HyMpmvfR_))上我們沒辦法直接執行Anaconda提供給我們的工具跟指令,因為沒有把Anaconda的路徑加入環境變數,導致電腦並不知道要怎麼找到能夠執行這些指令的執行檔,那也沒關係,我們可以事後手動加入([如何在windows10手動編輯環境變數](https://md.taiw.in/s/r1rMVPf0_))。 假設安裝過程都沒問題,接下來的步驟就是驗證我們的Anaconda是否有安裝成功,首先點擊最左下角的windows按鈕,在應用程式與資料夾列表應開可以看到Anaconda3(64-bit),點擊他,就可以看到Anaconda資料夾內部的程式集: ![](https://i.imgur.com/jn93qlN.png) 然後我們要開啟終端機,以前windows最主要的終端機是cmd,但現在我們要使用近年來windows改良的終端機PowerShell,先在左下角搜尋框打下PowerShell就可以找到他了,開啟他就會看到一個藍屏的介面: ![](https://i.imgur.com/2CMlefF.png) 這是預設的 PowerShell 終端機,但在本教材我們需要使用和 Anaconda 結合的 PowerShell 終端機(在預設的 PowerShell 再加上一些 Anaconda 的環境設定),在前一張圖我們可以看到 Anaconda 資料夾內部的程式集,裡面有一個程式叫做 `Anaconda PowerShell Prompt(anaconda3)`,打開這個程式,可以看到一個黑屏介面: ![](https://i.imgur.com/zFinTLs.png) 接著在上面打上 `python`,然後按下 Enter,若你就能看到他輸出以下文字,那就代表你成功的把python執行起來了: ```! Python 3.8.8 (default, Apr 13 2021, 15:08:03) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32 Type "help", "copyright", "credits" or "license" for more information. >>> ``` 各位的終端機輸出的文字可能跟我的不一樣,那是因為每個人電腦的系統資訊以及當下安裝的最新版本都不一樣,但只要最前面有出現Python且最後面出現`>>>`那就是成功了,你已經成功進入python的互動執行模式。 最後我們要記得按`Ctrl-z`或是輸入`exit()`按下`Enter`離開python的互動執行模式喔! 另外因為我們在之後的教學可能會很常用到 `Anaconda PowerShell Prompt(anaconda3)` 這個程式,所以建議大家可以根據下面的 gif 操作,把這個程式釘選到工作列喔! ![](https://i.imgur.com/RVFBWQo.gif) 我們也可以檢驗其他Anaconda所給的工具是否可以正確使用: 1. conda conda就是Anaconda所提供的一個套件管理工具,他的使用方式跟pip很像,差別是pip是由python官方認可,但只能管理python套件的工具,但conda卻是跨語言的,也就是說不只是python可以使用,其他語言也能使用這個管理工具。 如果在 `Anaconda PowerShell Prompt(anaconda3)` 打上`conda --version`,會輸出conda的版本號。 ![](https://i.imgur.com/rYFjtJA.png) 2. jupyter jupyter是一個文字編輯器,只是他是開在瀏覽器上面的,也就是這個工具會讓我們在網頁上編輯程式,這樣的其中一個優點就是跨平台,只要你有瀏覽器,不管你用什麼作業系統,你都可以開啟網頁編輯程式,而不用去顧慮作業系統有沒有支援。 有一些同學可能已經有自己喜歡的文字編輯器,不知道這東西有什麼好用,但是嘿嘿他可是個神器呢!雖然他確實不是包山包海每個地方都很厲害,但是對於做資料分析來說會非常好用,這個之後的單元會講解。 如果在 `Anaconda PowerShell Prompt(anaconda3)` 打上`jupyter notebook`,Powershell會幫你開啟瀏覽器並導向`http://localhost:8888/tree`,也就是網頁形式的文字編輯器。 ![](https://i.imgur.com/7KK342y.png) 然後記得要在 `Anaconda PowerShell Prompt(anaconda3)` 按`Ctrl-c`關閉jupyter。 ### 結語 如果各位同學都能成功安裝Anaconda那就太好了,因為Anaconda已經幫我們準備好非常多東西,像是文章提到的python、conda、jupyter,都是我們之後常用到的,省我們要自己一個一個下載。 接下來我們要介紹的是如何使用conda,他主要是用來隔離專案執行環境的工具。 ### 隨堂測驗 1. 在完成anaconda的安裝之後,打開終端機 `Anaconda PowerShell Prompt(anaconda3)` 並進入python的互動執行模式,然後在`>>>`的位置打上指令`print("Hello world")`並執行,最後用教材提供的方法離開python的互動執行介面。 2. 在完成anaconda的安裝之後: * 打開終端機PowerShell並啟動jupyter notebook。 * 在jupyter notebook的資料夾頁面選擇進入桌面。 * 然後按下右上角的New按鍵,並選擇python3。 * 然後應該會出現以下界面,並且桌面上會出現`Untitled.ipynb`這一個檔案。 ![](https://i.imgur.com/zSni4R7.png) * 在該界面的綠框框下打上指令`print("Hello world")`並執行。 * 然後關掉jupyter notebook並刪除檔案`Untitled.ipynb`。 參考資料: https://medium.com/ai%E5%8F%8D%E6%96%97%E5%9F%8E/anaconda-miniconda-conda-pip%E7%9A%84%E7%9B%B8%E4%BA%92%E9%97%9C%E4%BF%82-%E8%BD%89%E8%BC%89-a0536f3a257 https://www.infoq.cn/article/atotiv21qo6cup_iios7