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

Posted

技术标签:

【中文标题】如何设置安装了 conda 的 R 以与 RStudio 一起使用?【英文标题】:How to set up conda-installed R for use with RStudio? 【发布时间】:2016-11-26 19:49:21 【问题描述】:

我一直在尝试使用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   

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

如何将我的 conda 版本的 R 路由到 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

很遗憾,anaconda 在https://docs.continuum.io/anaconda/ide_integration 中没有这方面的教程

【问题讨论】:

conda activate your-r-env 然后rstudio 【参考方案1】:

从激活的 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 实例。

【讨论】:

如果您希望只有一个版本的 Rstudio(与您的设置),但与不同的 conda 环境交互,这是完美的解决方案(无法证明是否适用于其他操作系统)。 适用于 macOS。【参考方案2】:

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

$ conda install -c r rstudio

然后从命令行:

$ rstudio

(这是我安装它的方式,它可以工作。)

【讨论】:

事后看来,我应该这样做。我不认为这是我第一次尝试时的选择。至少我们至少有 3 种不同的方法可以让它为人们工作:) 在 Windows 10 和 Anaconda3 上,它只是 conda install rstudio $ rstudio &,作为守护进程运行 但是:conda 中的 rstudio 未更新。它似乎已经过时了,即 osx 上的 1.1 与现在可用的 1.4。 过时的答案。 正如其他人所提到的,Conda 的 RStudio 没有得到维护,最多只能使用 R 3.6。【参考方案3】:

更新:Anaconda 发行版现在包含 RStudio 的软件包,因此您应该能够使用它,而无需跳过任何障碍。也可以直接安装Anaconda Navigator。

【讨论】:

我最近在第一次打开anaconda navigator 时看到了这个。我在上面添加了我的解决方案。到目前为止,它一直运行良好。 更新: Anaconda 放弃为 Conda 维护 RStudio 构建,而 Conda Forge is discussing picking it up,没有动力。但是,一旦 RStudio 从 Qt 过渡到 Electron(预计今年夏天会放弃),这可能会改变,因为它应该简化构建。无论如何,关键是 Conda 不可靠地提供 RStudio 构建。【参考方案4】:

更新:将此添加到 ~/.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 的最新 4.3 版本开始,这些都不是必需的。从 Anaconda Navigator 安装和启动 RStudio 应该“正常工作”,并且从终端,只要你正确激活你的环境 (conda.io/docs/using/envs.html)open $CONDA_PREFIX/Applications/RStudio.app 也应该工作。 对标题投了反对票,(1) 对于运行 macOS 11+ 的任何人(很多人)和 (2) 有点讨厌【参考方案5】:

只要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

【讨论】:

我如何确保rstudio 是从同一个环境启动的? 我不能在默认的 RStudio 安装(从 RStudio 网站下载)中使用 conda R 解释器吗?

以上是关于如何设置安装了 conda 的 R 以与 RStudio 一起使用?的主要内容,如果未能解决你的问题,请参考以下文章

R/RStudio详细安装流程

mlflow R 安装 MLFLOW_PYTHON_BIN

如何设置 MySql 工作台以与 laravel 一起使用?

如何在 Windows 上安装 Astyle 以与 VIM 一起使用

如何使用 conda 环境为 anaconda spyder 设置不同的桌面启动器?

手把手教分析| 掌握R语言第一步