按下訂閱鈕透過電子郵件收到我的文章🎉
一鍵啟動專案環境:https://mybinder.org/v2/gh/datainpoint/mybinder-jovyans-assembles/xeus-sqlite
緣起
我曾在基於 JupyterHub 的教學深深吸引我這篇文章中跟讀者們分享過關於「環境設置」的想法,因為主要教學語言是 Python、R 與 SQL,希望能夠用單一環境去面對所有的使用場景,而非在 Python 的使用場景運用 Jupyter Notebook/VS Code、在 R 的使用場景運用 RStudio 以及在 SQL 的使用場景運用 SQLiteStudio;除了一體性(All in one)之外,還希望能夠在瀏覽器使用,藉此達成一鍵啟動的效果。
有時候自己也會懷疑究竟為何如此糾結一體性(All in one),到底將撰寫所有語言集中在同一個環境介面的優點是什麼?對於講師在教材編撰優點是顯而易見的:我已經非常熟悉在 Jupyter Notebook 中的文字儲存格撰寫Markdown 標記語言與 LaTex 數學方程式,只要更動程式儲存格所對應的核心,就可以撰寫的語言還有輸出的結果。
不過對於讀者是否也如我一般對於「一體性」還有「一鍵啟動」那樣執著,我其實是有存疑的,假使你們覺得這兩件事情在課程中的重要性是屬於較為細微末節的順位,請不要吝嗇透過 Substack 的留言功能回饋給我,如此將來在準備教材、寫作文章還有電子報時,我就知道不需要在這些部分投注過多的精神與時間。
三個願望一次滿足
透過安裝 Miniconda、Jupyter、IRkernel 還有 xeus-sqlite 能夠在自己的電腦中達到「三個願望一次滿足」的資料分析環境設定。
Miniconda 是一個 Anaconda 的輕量型版本,它僅有 conda、Python、標準套件、依賴套件與其他少數一定會派上用場的套件像是 pip、zlib 等,我們利用 Miniconda 來替代過於龐大的 Anaconda,下載路徑為:https://docs.conda.io/en/latest/miniconda.html。
Jupyter 是一個建構於網頁應用程式的整合開發環境,允許資料科學團隊像是寫作筆記一般地撰寫程式、顯示程式輸出、圖形視覺化輸出、支援 Markdown 標記語言與 LaTex 數學方程式的文字段落,從 2014 年推出以來風靡資料科學生態圈,Jupyter 其中 Ju 指的是 Julia 語言、py 代表 Python 語言而 r 則為 R 語言,這個命名也讓 Jupyter 專案希望海納百川、作為多種程式語言的共同撰寫介面的企圖心一覽無遺。專案網站為:https://jupyter.org/。
IRkernel 是將 R 語言新增到 Jupyter 可用核心的 R 語言套件,專案網站為:https://irkernel.github.io/。
xeus-sqlite 是將 SQLite 新增到 Jupyter 可用核心的 Python 套件,GitHub Repository 為:https://github.com/jupyter-xeus/xeus-sqlite。
實作本機環境建置
首先前往 Miniconda 的下載頁面:https://docs.conda.io/en/latest/miniconda.html 下載 Python 3 版本並且安裝。安裝完成以後開啟終端機(Windows 使用者開啟 Anaconda Prompt、Mac/Linux 使用者開啟 Terminal 應用程式),將可以看到在指令前方多出了 (base)
的環境名稱標示。
接著在終端機以 conda install jupyter
指令安裝 Jupyter,指令執行完畢之後可以 jupyter --version 來檢查。
conda install jupyter
jupyter --version
然後前往 CRAN(Comprehensive R Archive Network)R 語言的下載頁面:https://cran.r-project.org/ 下載並安裝,安裝完畢之後從終端機進入 R 的互動命令列安裝 IRKernel 套件,並不要忘記使用 IRKernel::installspce()
添加核心。
R # 進入 R 的互動命令列
install.packages('IRkernel')
IRkernel::installspec(user = FALSE)
q() # 退出 R 的互動命令列
最後是創造一個 xeus-sqlite 的環境,目前測試成功的版本是 0.1.0 版本,記得在安裝時特別標註版本號,完成本機環境建置的實作。這時候啟動 Jupyter Notebook 將能夠在點擊右上角的 New 按鈕看到以 Python、R 與 xsqlite 作為核心的新增筆記本選項。
(base) conda create -n xeus-sqlite
(base) conda activate xeus-sqlite
(xeus-sqlite) conda install xeus-sqlite=0.1.0 jupyterlab -c conda-forge
(xeus-sqlite) jupyter notebook
最後,在完成實作本機環境建置,藉此讓讀者知道如何以單一的 Jupyter Notebook 介面撰寫 Python、R 與 SQL 之後,這篇文章來到尾聲,希望您也和我一樣期待下一篇文章。如果覺得這樣是有趣且方便的,是時候在自己的 Jupyter 環境也加上些不同口味的核心!
透過多種方式與我互動,Like😻、留言🙋♂️或者分享🙌