如何设置 conda 安装的 R 以与 RStudio 一起使用?

How to set up conda-installed R for use with RStudio?

我一直在尝试使用 conda 设置我的 R(最终与 Beaker Notebook 一起使用)并且我希望能够将 RStudio 与我的 conda- R 的已安装版本。

我的安装方法R

conda install -c r r
conda install -c r r-essentials
conda install -c r r-rserve
conda install -c r r-devtools
conda install -c r r-rcurl
conda install -c r r-RJSONIO
conda install -c r r-jpeg
conda install -c r r-png
conda install -c r r-roxygen2
conda install --channel https://conda.anaconda.org/bioconda bioconductor-edger

我运行那个版本的R(我只安装了这个版本)

> version
               _                           
platform       x86_64-apple-darwin11.0.0   
arch           x86_64                      
os             darwin11.0.0                
system         x86_64, darwin11.0.0        
status                                     
major          3                           
minor          3.1                         
year           2016                        
month          06                          
day            21                          
svn rev        70800                       
language       R                           
version.string R version 3.3.1 (2016-06-21)
nickname       Bug in Your Hair   

运行 R in Jupyter 有点问题。例如,当它输出错误时,它输出到 stdout 并用换行符分割字符串中的每个字符。我想使用 RStudio 但我不想安装另一个版本的 R

如何将我的 R conda 版本路由到 RStudio?

这是我的 .bash_profile 不确定这是否有用:

$ cat ~/.bash_profile
# added by Anaconda3 4.0.0 installer
export PATH="/Users/jespinoz/anaconda/bin:$PATH"

export RSTUDIO_WHICH_R=/Users/jespinoz/anaconda/bin/R 

我一直在努力学习这些教程,但我迷路了。我真的不太熟悉环境变量之类的东西。

(1) https://support.rstudio.com/hc/en-us/community/posts/207830688-Using-RStudio-with-conda

(2) Launch mac eclipse with environment variables set

当我寻找我的 R 时,它指示我:

$ which R
/Users/jespinoz/anaconda/bin/R

但是 (1) 中的指示使用的是非常混乱的路径:

/Users/jespinoz/anaconda/lib/R/bin/R

我尝试按照这个人所做的操作并将其添加到我的 .bash_profile 但它没有用。我什至做了一个 .bashrc 但它仍然没有用(我在添加行后都 sourced

export RSTUDIO_WHICH_R=/Users/jespinoz/anaconda/bin/R

How to tell RStudio to use R version from Anaconda

很遗憾,anacondahttps://docs.continuum.io/anaconda/ide_integration

中没有这方面的教程

只要 which R 显示一个工作的 R 解释器(如果你已经从 conda 安装了 r 包并激活了你的环境,它应该这样做)然后启动 rstudio 来自相同的环境 应该可以很好地拾取它。

为了测试,我在 ArchLinux 上构建并安装了:https://aur.archlinux.org/packages/rstudio-desktop-git/

.. 然后强制删除 R 解释器 (pacman -Rdd r),然后从 conda (conda install -c r r) 安装 r,它工作正常。然后我关闭了我的终端并打开了一个新终端(这样正确的 conda 环境 没有被 激活并使用以下命令成功启动 RStudio:RSTUDIO_WHICH_R=/home/ray/r_3_3_1-x64-3.5/bin/R rstudio

我认为关键是从正确的环境启动 RStudio?您的 ~/.bash_profile~/.bashrc 仅在您 运行 bash 时才有来源。对于要设置的环境变量,以便您的桌面环境知道它们,在 Linux 上,您应该将它们放在 ~/.profile/etc/pam.d 中(您可能需要在之后注销或关闭进行这些更改)并在 OS X 上,您应该查看 https://apple.stackexchange.com/q/57385

更新:将此添加到 ~/.bash_profile !

export RSTUDIO_WHICH_R="/Users/jespinoz/anaconda/bin/R"
launchctl setenv RSTUDIO_WHICH_R $RSTUDIO_WHICH_R

最后一行感谢@Z-Shiyi https://github.com/conda/conda/issues/3316#issuecomment-241246755


@Ray Donnelly 上面所说的内容的补充。基本上,它必须从正确的环境中执行(即 运行 它来自终端)。

您可以:

(A) 将此放入您的 ~/.bash_profile export RSTUDIO_WHICH_R=/Users/[yourusername]/anaconda/bin/R(如果您使用的是 conda,但您可以放置​​任何 R 路径)

(B) 然后在获取源后在终端中输入(重启终端或执行 source .bash_profile):open -a RStudio 那应该有效。

或者你可以像我一样做:

(A) 打开自动程序(对不起,如果你不在 mac 上;这只适用于 mac)

(B) 使用 Run Shell Script

(C) 然后删除已经存在的 cat 并放入: export RSTUDIO_WHICH_R=/Users/[yourusername]/anaconda/bin/R open -a RStudio

(D) 将其保存为 run_rstudio.app 之类的内容,然后只需 运行 即可,它应该可以工作:

更新:Anaconda Distribution 现在有适用于 RStudio 的软件包,因此您应该能够使用它而不必跳过任何障碍。也可以直接安装Anaconda Navigator

https://anaconda.org/r/rstudio:

$ conda install -c r rstudio

然后从命令行:

$ rstudio

(这就是我安装它的方式并且它有效。)

从激活的 Conda 环境启动 RStudio

至少对于 Mac OS X,我发现在 shell 会话中激活环境,然后启动 RStudio 就足够了。

$ conda activate my_r_env
$ /Applications/RStudio.app/Contents/MacOS/RStudio

进入 R 后,可以验证 R.home().libPaths() 的值是否指向特定于环境的位置。

这里的优点是您不必固定在环境变量中最后设置的任何内容,例如,通过 .bash_profile。相反,一个人可以拥有许多基于 R 的环境并在它们之间切换(或同时 运行 多个环境)而不会篡改全局设置。

为方便起见建议的别名

也许我唯一推荐的全局设置是为 rstudio 添加一个别名到您的 .bash_profile 这样您就不必每次都键入完整路径,例如

alias rstudio='/Applications/RStudio.app/Contents/MacOS/RStudio &'

这使人能够做到

$ conda activate my_r_env
$ rstudio
$

其中 & 允许人们继续使用 shell 或关闭它,而不影响 RStudio 实例。

如果(现在)有任何好处...conda 有包 rstudioapi,它将 Rstudio 带到您的本地环境,并选择 local/default r-base 安装了您的活动环境。

您可以通过键入以下内容来安装它(一旦您的环境 已激活 ):

conda install -c conda-forge r-rstudioapi

然后您只需输入(在您的环境中):rstudio

制作软 link 适合我:

ln -s /opt/miniconda3/envs/r-4.2/bin/R /usr/bin/R