日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BinderHub 使用简介

發布時間:2025/3/11 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BinderHub 使用简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用 Binder 將公開的 GitHub Repository 轉換為可互動、可執行程式碼並能在瀏覽器上一鍵啟動的 JupyterHub 伺服器,讓我們可以快速地建造出方便分享的教學環境。

  • Python 3.6 JupyterLab
  • Python 3.7 Jupyter Notebook
  • R 3.6 JupyterHub
  • R 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 作為開發介面的使用者,可以將網址複製後加上查詢字串參數??urlpath=lab?就會啟動 JupyterLab。截至於此,我們簡單示範了如何使用 GitHub 分支與 Binder 建立了能在瀏覽器上一鍵啟動的 Python Jupyter 環境。

    • Python 3.6 JupyterLab
    • Python 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 作為開發介面,只要將網址複製後加上查詢字串參數??urlpath=RStudio?就會直接啟動 RStudio;或者可以在 JupyterHub 首頁新增檔案時選擇 RStudio。

    ?

    新增檔案時選擇 RStudio

    截至於此,我們簡單示範了如何使用 GitHub 與 Binder 建立了能在瀏覽器上一鍵啟動的 R Jupyter 環境。

    總結

    以上是生活随笔為你收集整理的BinderHub 使用简介的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。