如何设置安装了 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 一起使用?的主要内容,如果未能解决你的问题,请参考以下文章
如何设置 MySql 工作台以与 laravel 一起使用?
如何在 Windows 上安装 Astyle 以与 VIM 一起使用