原文發表於第 11 屆 iT 邦幫忙鐵人賽 (https://ithelp.ithome.com.tw/articles/10217036)

勇者您好,請選擇初始職業與裝備

這篇繼續進行啟程前的準備,雖然我在引言中強調過不見得要寫程式,只要執行現成的程式碼或套件來完成剛好需要的分析,所使用的程式碼與套件還是需要已經安裝好的程式語言環境來執行。而且有時候執行他人的腳本,還是需要稍微看得懂語法,才知道如何適當地修改錯誤之處或是改成適合自己使用的樣子。

在下定決心要稍微學點程式之後,這時候通常會有的問題就是,我該從什麼語言開始學比較好呢? 學長說 python 就業機會多,隔壁實驗室的都用 R 語言,搞創業的潮潮推薦 Ruby,技術控則講著 GO 跟 Rust。我會說每種都很棒,重點在於培養程式邏輯腦以及快速切換思維的能力,網路上自學資源超級多,找堂免費課程跟著學下去絕對沒問題。

針對生物資訊的部分來說入門以 python、R 為佳,因為使用者人數眾多,遇到什麼問題通常輸入關鍵字搜尋就可以找到答案,而且有很多工具或是一條龍式的套件,操作起來會很方便。進階的話有語法簡潔的 Perl、前輩致力推廣的 Julia。以下便會簡單地帶過 python 的安裝資源推薦。

太滑水了吧?安裝有什麼好講的?

沒錯,就是在滑水,因為實際語言教學的話寫不完,我也沒資格寫,這份小指南旨在做個小小敲門磚,減低門檻後,修行之路還是要自己走下去。

Python 的核心十分簡潔,許多數學分析與繪圖功能都是額外的套件所提供,需要使用的時候才匯入或安裝。針對社群開發的科學分析套件可能有幾百種,要使用之前還要先找到正確的套件名稱才可以安裝使用。

Anaconda 就是一款直接幫你把資料科學相關套件通通準備好的選擇,從資料匯入、資料整理、數學分析、機器學習、甚至視覺化繪圖工具都包在裡面。開發環境上則包括了不同語言通用的 jupyter 筆記本、R studio 等等,下方可以看到更實際的使用場景。別再猶豫了,馬上點進 Anaconda 的下載連結,安裝起來吧!

安裝 Anaconda

Anaconda Python/R Distribution - Free Download

選擇相對應的作業系統平台之後,有不同的 python 版本供選擇,左側的 Python 3.7 是比較通用保險的選擇。但是還是要有點心理準備,有些大牌老套件其實只能在 2.7 環境執行,或者是 2019 年發布的生資套件也時常會出現其中藏有一兩行舊語法而無法執行,這種情況可能還是要手動進入套件原始碼中除錯,再回到 Python 3.7 環境執行。

在 Mac 上面以 pkg 檔案安裝

大概會需要 2G 的空間來安裝。

安裝過程順便廣告 PyCharm 的整合式開發環境 (IDE),可以自己決定要不要嘗試,我們明天也會介紹另外的 IDE 選擇。

安裝完畢的初次開啟。

Home 標籤中有各式常用工具的啟動按鈕,可以想成是不同風格的辦公桌,有的桌子抽屜大一點又適合放在轉角,有的則是桌上有層板,設計目的略有不同,但是通常不影響關鍵的辦公功能。

其中 Jupyter Notebook (上左二) 深受許多資料科學家歡迎,因為可以快速地執行片段區塊內的程式碼,同時還可以如下圖般用 Markdown 的方式來寫數學式或註解思路。Anaconda 的主頁面還有其他還有小而美的 Spyder、可以方便看各種參數的 RStudio 等等不同開發工具,等著你來探索。

(在 JupyterLab 中執行程式,透過 Markdown 撰寫註解紀錄想法)

Anaconda 左側第二個 Environment 標籤中則會顯示當前環境中各種不同的套件的安裝狀況,可以想成是辦公桌上面自己選放的文具、總機電話、或印表機,這些實際提供功能的文具清單,沒有他們的話根本無法辦公。而所謂的環境就是把上述的文具清點打包,讓你即使換辦公桌或辦公室,或者換個人帶了一樣的業務來坐這張辦公桌,一切依然可以順利執行。使用環境的好處多多,可以避免新安裝的套件干擾作業系統運行,也可以確保所撰寫程式碼的可再現性。

第三個標籤中有附上各種學習資源。

第四個標籤則是各大相關社群,教學學不到的問社群,想更上一層樓參加社群活動就對了!

希望這樣的簡介可讓大家理解 Anaconda 的值得之處!嘗試過後,記得回來告訴我你最喜歡 Anaconda 的地方吧!

參考資料與延伸閱讀

在MAC上安裝R語言環境

The R Project for Statistical Computing

Welcome to Python.org

Python 環境 - Anaconda

iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天

Anaconda | The World’s Most Popular Data Science Platform