Anaconda Jupyter中配置R運行環境


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語言的環境,搜索發現,以下兩個網頁信息十分有用:

  1. Using the R programming language in Jupyter Notebook
  2. Using R language with Anaconda

第一個是圖形化的配置操作方法,第二個是使用conda命令行的操作方法。

理解操作步驟的原理就是,要在Anaconda默認創建好的root 環境之外,另外創建一個環境,可以命名為r_tutorial(第一個網頁介紹的創建名稱),或者r_env(第二個網頁介紹的創建名稱)。然后再激活這個環境即可。最后用Jupyter notebook打開這個env就可以在Jupyter notebook中使用R語言了。

總結實踐測試后的配置方法

這里記錄主要使用Anaconda prompt 命令行的操作方法:

  1. windows控制面板,卸載獨立於Anaconda之外安裝的python 和python的IDLE。
  2. Anaconda prompt 命令行輸入 conda config --set show_channel_urls yes, 然后打開路徑文件C:\Users\samsung.condarc,編輯文本以粘貼入下文中來自清華鏡像站的使用配置代碼(見困難2段落)。即配置好了Anaconda使用清華的鏡像,以確保后續配置環境過程中下載速度有保障。
  3. 運行 conda clean -i 清除索引緩存,保證用的是清華鏡像站提供的索引。
  4. 運行 conda create -n r_env r-essentials r-base ,即創建名為r_env的environment,對提示的下載輸入y。下載后,即也完成了安裝。
  5. 運行 conda activate r_env, 以激活環境。
  6. 運行 conda list 查看一下新創建的r_env環境中已經安裝的package,應該包含很多熟悉的R語言package,並且都是以 r-開頭的。
  7. 運行 conda activate r_env ,激活r_env環境。
  8. 運行 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之后就可以愉快地開始使用了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM