Anaconda Jupyter中配置R運行環境
引言
當學習一個R語言的程序包時,希望記錄下來函數的功能,和示例代碼運行數據,Jupyter notebook在此時可以發揮作用,它可以方便地展示學習記錄、以及代碼、以及代碼的運行結果。
我電腦上已經安裝了Anaconda(是為了使用spyder所以安裝的Anaconda),然后第一次安裝好Anaconda之后,打開Anaconda 的圖形化navigator之后,就默認創建了一個環境(env),並且命名為root。
然后在打開Anaconda 的圖形化navigator界面中,有Jupyter notebook的圖標,所以我即點擊Launch運行,卻發現此時Jupyter notebook只支持python3 和Julia兩種編程語言。所以如果想在Jupyter notebook中使用R語言,則需要進行一番配置。
配置過程
如何在Jupyter notebook中配置可以使用R語言的環境,搜索發現,以下兩個網頁信息十分有用:
第一個是圖形化的配置操作方法,第二個是使用conda命令行的操作方法。
理解操作步驟的原理就是,要在Anaconda默認創建好的root 環境之外,另外創建一個環境,可以命名為r_tutorial(第一個網頁介紹的創建名稱),或者r_env(第二個網頁介紹的創建名稱)。然后再激活這個環境即可。最后用Jupyter notebook打開這個env就可以在Jupyter notebook中使用R語言了。
總結實踐測試后的配置方法
這里記錄主要使用Anaconda prompt 命令行的操作方法:
- windows控制面板,卸載獨立於Anaconda之外安裝的python 和python的IDLE。
- Anaconda prompt 命令行輸入
conda config --set show_channel_urls yes
, 然后打開路徑文件C:\Users\samsung.condarc,編輯文本以粘貼入下文中來自清華鏡像站的使用配置代碼(見困難2段落)。即配置好了Anaconda使用清華的鏡像,以確保后續配置環境過程中下載速度有保障。 - 運行
conda clean -i
清除索引緩存,保證用的是清華鏡像站提供的索引。 - 運行
conda create -n r_env r-essentials r-base
,即創建名為r_env的environment,對提示的下載輸入y。下載后,即也完成了安裝。 - 運行
conda activate r_env
, 以激活環境。 - 運行
conda list
查看一下新創建的r_env環境中已經安裝的package,應該包含很多熟悉的R語言package,並且都是以 r-開頭的。 - 運行
conda activate r_env
,激活r_env環境。 - 運行
jupyter notebook
,即打開Jupyter notebook的瀏覽器,新建中選擇R即可以開始用R語言進行Jupyter notebook筆記寫作了。
以后再需要使用jupyter notebook 創作R語言的筆記時,直接打開anaconda Powershell prompt (Anaconda) 然后執行上述步驟的8 和9 即可。然后在瀏覽器打開的頁面中,新建處選擇R。
記錄實踐的過程
我是按照第二個介紹的conda命令行的操作方法進行實踐的,首先打開Anaconda Prompt命令行終端,然后輸入 conda create -n r_env r-essentials r-base
,即開始運行。
困難點1
開始運行不久,就彈出一個窗口報錯,提示是python程序出錯。但是命令行中又沒有報錯,這時再運行激活環境的代碼時 conda activate r_env
,發現又報錯,提示沒有該環境。這說明環境創建失敗。所以我懷疑是獨立於Anaconda之外在電腦上安裝的python 程序造成了這個報錯,所以我卸載了電腦上安裝的python 以及python IDLE。之后重新運行create r_env的代碼,發現就不報錯了。開始提示要安裝一些package,就是下載r-essentials r-base 還有environment所必需的一些文件,輸入y 之后,即開始下載。
困難點2
開始下載之后就發現,下載進度特別慢,以至於最后提示下載失敗。這應該是因為Anaconda的服務器位於國外,所以數據傳輸很慢導致下載失敗。此時想到國內應該有Anaconda的鏡像,搜索即發現清華鏡像站中即有Anaconda的鏡像資源(Anaconda 鏡像使用幫助),並且提供了很好的鏡像配置使用說明,如下:
TUNA 還提供了 Anaconda 倉庫與第三方源(conda-forge、msys2、pytorch等,查看完整列表)的鏡像,各系統都可以通過修改用戶目錄下的 .condarc 文件。Windows 用戶無法直接創建名為 .condarc 的文件,可先執行 conda config --set show_channel_urls yes 生成該文件之后再修改。
channels:
- defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
即可添加 Anaconda Python 免費倉庫。
運行 conda clean -i
清除索引緩存,保證用的是鏡像站提供的索引。
運行 conda create -n myenv numpy
測試一下吧。
所以基於上述清華Anaconda鏡像站使用說明信息,我首先在Anaconda 命令行中運行,conda config --set show_channel_urls yes
,生成了用戶目錄下的 .condarc 文件(創建之后在我電腦上的完整路徑是 C:\Users\samsung.condarc)。然后打開該文件粘貼上如上配置內容。即設置好了下載鏡像。
然后再按照提示,運行 conda clean -i
清除索引緩存。
此時,應該開始創建environment了。所以我重新再運行,conda create -n r_env r-essentials r-base
,然后提示安裝package時輸入y,就開始下載了。這是就看到速度很可以了,幾分鍾左右即下載完成,並且命令行中提示運行激活環境的代碼激活環境。所以運行激活環境代碼, conda activate r_env
。然后再運行一下, conda list
查看新創建的r_env環境中已經安裝的package,可以看到R語言相關的package都是有 r- 開頭的,同時還有其他package,包括python3.8。
再打開Anaconda 的navigator,可以在environment中看到root下面多了一個 r_env 的環境。這時,可以使用圖形化的方式或命令行的方式打開r_env 的notebook。圖形化方式就是,在r_env上右鍵,選擇open with Jupyter Notebook。我這里使用命令行的方式,就是在Anaconda中輸入 conda activate r_env
,然后再運行 jupyter notebook
,就發現打開了Jupyter notebook的瀏覽器,在頁面右上角的新建處就可以選擇R了。新建R之后就可以愉快地開始使用了。