网站整套模板项目代码下载,登录企业网站管理系统,建网站用什么工具,做图片网站用什么程序使用 Binder 將公開的 GitHub Repository 轉換為可互動、可執行程式碼並能在瀏覽器上一鍵啟動的 JupyterHub 伺服器#xff0c;讓我們可以快速地建造出方便分享的教學環境。
Python 3.6 JupyterLabPython 3.7 Jupyter NotebookR 3.6 JupyterHubR 3.6 RStudio
使用 Binder 與 …使用 Binder 將公開的 GitHub Repository 轉換為可互動、可執行程式碼並能在瀏覽器上一鍵啟動的 JupyterHub 伺服器讓我們可以快速地建造出方便分享的教學環境。
Python 3.6 JupyterLabPython 3.7 Jupyter NotebookR 3.6 JupyterHubR 3.6 RStudio
使用 Binder 與 GitHub 的動機
最近將原本教學大量使用的 Google Colab 轉移到了 Binder 上起心動念的原因在於雖然 Google Colab 已經提供一個可以即時互動的筆記本環境但是在檔案、環境與終端機的支援上還是略有不足譬如檔案必須在每一次 Session 啟動後重新上傳、套件模組也同樣要在 Session 啟動後重新更新與安裝而終端機的指令要透過筆記本儲存格的魔術指令magic command !送出所有這些跟筆記本環境設置Configuration相關的部分都是想要改用 Binder 與 GitHub 的動機。
具體說來我希望能夠不要在第一堂課花時間作「環境設定」因為多數來修習將程式語言應用在資料分析領域的學員對於終端機指令、虛擬環境或系統路徑的認識都不多更別說每個人電腦五花八門的安裝現況以 Python 來說就有 IDLE、PyCharm、Anaconda、VSCode 等使用 Binder 與 GitHub 不但能夠跳過「環境設定」還可以確保每個學員都在同樣的設置下執行課堂中的範例程式和隨堂練習。
什麼是 Binder
我目前使用的是部署於 mybinder.org、免費的 Binder只要輸入公開的 GitHub Repository 網址就可以即時啟動一個能夠分享給多人的雲端計算環境將本來只能靜態展現的 Jupyter 筆記本轉換成為能夠在瀏覽器上執行、編寫的內容運作原理大致有三個步驟
輸入一個公開 GitHub Repository 網址Binder 會搜尋 Repository 中的環境設置檔案例如 runtime.txt、requirements.txt、environment.yml 等然後根據這些檔案的內容建立 Docker 映像檔Binder 會依據建立完成的 Docker 映像檔啟動一個 JupyterHub 伺服器
建立一個 Python 的 Binder
首先前往 GitHub 建立一個新的公開 Repository。 建立一個新的公開 Repository
接著將可以印出 Python 版本資訊的程式碼寫入 hello.py 並儲存在 Repository 之中。
# hello.py
import sysmajor_version sys.version_info.major
minor_version sys.version_info.minor
print(Hello from Binder Python {}.{}!.format(major_version, minor_version)) 將 hello.py 儲存在 Repository 之中
前往 mybinder.org 將 Repository 的網址輸入並點擊 launch 等待 JupyterHub 啟動。 將 Repository 的網址輸入並點擊 launch
在啟動的 JupyterHub 伺服器中新增終端機New Terminal後執行 python hello.py 觀察沒有 runtime.txt 時預設的 Python 版本為何。 觀察沒有指定 runtime.txt 時候的預設 Python 版本為何
接下來的操作會用到 Git 的分支概念不熟悉的讀者可以放心地跳過我們只是想透過同一個 GitHub Repository 設定不同 Python 版本的 Binder。
新增一個檔案 runtime.txt 在 Repository 之中不過這次並不是在既有的 master 分支建立而是儲存在取名為 3.6 的分支中。
# runtime.txt
python-3.6 新增檔案 runtime.txt 在取名為 3.6 的分支中
前往 mybinder.org這次除了將 Repository 的網址輸入以外還要在 Git branch 的欄位輸入 3.6才點擊 launch 等待 JupyterHub 啟動。 將 Repository 的網址與分支名稱 3.6 輸入才點擊 launch
在啟動的 JupyterHub 伺服器中新增終端機New Terminal後執行 python hello.py 觀察指定版本為 3.6 的 runtime.txt 是否有發揮作用。 觀察指定版本為 3.6 的 runtime.txt 是否有發揮作用
如果是習慣 JupyterLab 作為開發介面的使用者可以將網址複製後加上查詢字串參數 ?urlpathlab 就會啟動 JupyterLab。截至於此我們簡單示範了如何使用 GitHub 分支與 Binder 建立了能在瀏覽器上一鍵啟動的 Python Jupyter 環境。
Python 3.6 JupyterLabPython 3.7 Jupyter Notebook
建立一個 R 的 Binder
首先前往 GitHub 建立一個新的公開 Repository。 建立一個新的公開 Repository
接著將可以印出 R 版本資訊的程式碼寫入 hello.R 並儲存在 Repository 之中。
# hello.R
r_version - R.Version()
r_version_str - r_version$version.string
sprintf(Hello from Binder %s!, r_version_str) 將 hello.R 儲存在 Repository 之中
BinderHub 預設的程式語言是 Python因此必須先建立 runtime.txt 指定 R 語言的版本資訊我們設定為 3.6 版本。
# runtime.txt
r-3.6-2020-08-01 建立 runtime.txt 指定 R 語言的版本資訊
前往 mybinder.org 將 Repository 的網址輸入並點擊 launch 等待 JupyterHub 啟動。 將 Repository 的網址輸入並點擊 launch
在啟動的 JupyterHub 伺服器中新增終端機New Terminal後執行 Rscript hello.R。 觀察 R 語言版本為何
多數的 R 語言使用者習慣使用 RStudio 而非 JupyterNotebook 作為開發介面只要將網址複製後加上查詢字串參數 ?urlpathRStudio 就會直接啟動 RStudio或者可以在 JupyterHub 首頁新增檔案時選擇 RStudio。 新增檔案時選擇 RStudio
截至於此我們簡單示範了如何使用 GitHub 與 Binder 建立了能在瀏覽器上一鍵啟動的 R Jupyter 環境。