昨天簡單介紹了 pybaseball,接下來我會介紹平常使用的開發環境與工具,希望能讓大家在起步用 Python 進行棒球分析更順利。
在開發的時候我個人習慣使用 Jupyter Notebook 來撰寫 Python Code,我喜歡他能馬上顯示執行結果,不需要我們改完程式碼還要去終端機下指令,也能搭配 markdown 格式做文字紀錄。此外,大多數支援 Jupyter Notebook 的系統都會內建 Python,讓我們省去不少安裝的問題。
關於 Jupyer Notebook 的詳細介紹可以參考:
Jupyter Notebook 介紹、安裝及使用說明 (2023更新版) - SimpleLearn
Conda 是一個管理系統,可以運作在 Windows、macOS 與 Linux 等作業系統上,並有內建虛擬環境的功能,可以依使用者所需切換各種不同的環境管理套件。安裝上也十分簡單,去 Anaconda 官網下載安裝檔後執行,完成後就能使用 Jupyter Notebook 來進行開發。
Conda 也可以搭配 VSCode 來使用,就能在開發的時候用 VSCode 的 extensions 來加速開發的效率。
更多詳情可以參考:利用 conda 建立及管理 Python 虛擬環境 (2023更新版) - SimpleLearn
Colab 是 Google 提供的線上 Jupyter Notebook,跟 Conda 不一樣的是,他是使用 Google 的線上資源,所以每過一段時間他就會清空環境,因此有些配置可能每次使用都要再重跑一次。
但這也是他的好處,因為使用的都是線上資源,所以就算是等級比較低的電腦配備,只要有網路,都能使用 Google 提供的 GPU 及 TPU。
另一個好處是可以跟其他人分享程式碼,甚至可以在上面共同作業,這在團隊開發的時候十分方便。之後的範例我也會在 Colab 上面實作並給大家參考檢視。
更多詳情可以參考:Google Colab 介紹及安裝教學 - SimpleLearn
如果不想使用 Jupyter Notebook 來開發,可以直接安裝 Python 在環境裡開發。這樣的好處是假設之後想貢獻 pybaseball 的 Source Code 就不用再另外安裝一次 Python,也能直接在自己的環境上執行 Python Code 來測試。
不過要小心 Python 版本支援的問題。根據這個 PR ,目前 pybaseball 只支援 Python 3.8 - 3.11 版,因此在安裝的時候需要注意版本不要安裝到低於 3.8 的版本,不然可能在使用的工程中會發生其他問題。
如果有需要頻繁切換 Python 環境,我會推薦可以參考看看 Pyenv。
以下根據不同環境提供安裝方式。
Windows 的安裝可以參考這篇,上面寫得很完整,但要注意這個範例是 3.6 版,會需要自己在官網找最新版的檔案。
參考連結:在Windows底下最適當安裝Python環境的方法 - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天 (ithome.com.tw)
打開終端機 (Terminal) 然後執行下面的程式檢查是否有內建的 Python:
python3.x --version # x 為任意版本編號 如果是 3.11 就是 python3.11 --version
如果沒有的話可以執行下面的程式安裝:
sudo apt-get update
sudo apt-get install python3.x
sudo apt-get upgrade python
安裝完畢後執行看 Python 是否能正常運行:
python3.x
運用 Mac 裡的 Homebrew 來安裝:
brew install python3
python3 --version # 裝完後檢查
更多詳情可以參考這篇:Day03 - 在Mac安裝Python(好用的Homebrew) - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天 (ithome.com.tw)
等我們環境處理完後,接下來就可以來安裝 pybaseball 並實際執行看看。這邊我們會用到 pip 這個 python package 的套件管理系統來安裝。
更多 pip 資訊可以參考:DAY02-搞懂Python的pip - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天 (ithome.com.tw)
pip --version # 檢查使用版本
pip install pybaseball
pip3 install pybaseball # 如果檢查到的版本是使用 2.x 版的 Python
安裝完畢後,我們就能開始使用,這邊範例使用 playerid_lookup 這個 method 來查找大谷翔平的相關 ID:
from pybaseball import playerid_lookup
playerid_lookup('Ohtani', 'Shohei')
範例 Code 連結:
https://colab.research.google.com/drive/1oF7FwD1_Nn-XI3998ydJnoxq3OgXR0DF?usp=sharing
今天完成了環境設置,感謝大家耐心觀看。由於每個開發者都有自己習慣的環境,所以這邊大多都簡單介紹。明天開始就要正式進入之前提到的主題,開始介紹 pybaseball 裡的東西。下一篇會介紹如何取得不同網站的球員 ID,以用來在各網站都能找到相對應的球員。