Windows 10 + Anaconda + r-base +Radian(terminated with exit code: 1)R 环境配置终极解决方案

目录

  • 1. 问题提出
  • 2. 基本配置
  • 3. 环境搭建
  • 4. 快捷键设置
  • 5. 奇奇怪怪的问题
  • 参考文献

1. 问题提出

用了好多年的 Win10 专业版,频繁死机,没办法只能重装系统。折腾到 R 的时候悲剧了,一方面我希望系统环境尽量简洁,另一方面系统的管理更加一致,这就导致安装在 Anaconda中的R在Vscode中无法启动。

  • vscode 给出的错误提示是:terminated with exit code: 1
    Windows 10 + Anaconda + r-base +Radian(terminated with exit code: 1)R 环境配置终极解决方案_第1张图片
  • Powershell 给出的错误提示是:Exception: Cannot load share library
    Windows 10 + Anaconda + r-base +Radian(terminated with exit code: 1)R 环境配置终极解决方案_第2张图片

自此翻开了我无休止查阅文献的日子,遍阅中英文文献后,终于在randy3k/radian 中的一篇 Issues 贴子 Exception: cannot load R library 中发现了问题的关键。出现这个问题的根本原因是,Radian 无法在 Windows 的 Path 环境中发现 r-base 的相关核心组件。

因此解决此问题的关键便是,将 Anaconda 中的 R 环境整个添加到 Path 环境中,达到一种相当于在实际的系统中安装 R 的效果。将 R 环境添加到 Path 中的方法参照将 Anaconda 添加到 Path 环境 中的方法,不过这里有个关键的点,那就是 F:\Anaconda3\Library\mingw-w64\bin 这个路径十分重要,网上有一部分人认为这个径加或者不加并不重要,因为不影响 conda 的使用,这其实是不对的,这个路径虽然不影响 conda 和 虚拟环境中程序的使用,但他会应响虚拟环境中的程序在未激活虚拟环境情况下运行时程序间的交互。在本文中就是,r-baseRadian 在 Vscode 中的交互。

F:\Anaconda3
F:\Anaconda3\Scripts
F:\Anaconda3\Library\bin
F:\Anaconda3\Library\mingw-w64\bin

2. 基本配置

  • Windows 10
    Windows 10 + Anaconda + r-base +Radian(terminated with exit code: 1)R 环境配置终极解决方案_第3张图片
  • Visual Studio Code
    Windows 10 + Anaconda + r-base +Radian(terminated with exit code: 1)R 环境配置终极解决方案_第4张图片
  • Anaconda
    Windows 10 + Anaconda + r-base +Radian(terminated with exit code: 1)R 环境配置终极解决方案_第5张图片

3. 环境搭建

  • 3.1 Anaconda 虚拟环境搭建

:请替换成自己的环境名

conda create --name  python python=3.8
  • 3.2 R 环境搭建
conda install -c conda-forge r-base r-base=4.1.1
pip install -U radian
conda install -c conda-forge r-languageserver
  • 3.3 环境变量配置

参照 Anaconda 配置环境变量 将 R 环境添加到环境变量

Windows 10 + Anaconda + r-base +Radian(terminated with exit code: 1)R 环境配置终极解决方案_第6张图片
Windows 10 + Anaconda + r-base +Radian(terminated with exit code: 1)R 环境配置终极解决方案_第7张图片
Windows 10 + Anaconda + r-base +Radian(terminated with exit code: 1)R 环境配置终极解决方案_第8张图片

  • 2.3 Visual Studio Code 配置

安装 R 插件
注: R LSP 插件的功能已经合并到 R 插件中

Windows 10 + Anaconda + r-base +Radian(terminated with exit code: 1)R 环境配置终极解决方案_第9张图片

r-base 配置
获取 R 的路径并进行配置

gcm R.exe

Windows 10 + Anaconda + r-base +Radian(terminated with exit code: 1)R 环境配置终极解决方案_第10张图片

Radian 配置
Rterm: Option 原来的 --no-save--no-restore 删除,替换为 --no-site-file--r-binary=
Rterm: WindowsRadian 的路径

gcm Radian

Windows 10 + Anaconda + r-base +Radian(terminated with exit code: 1)R 环境配置终极解决方案_第11张图片

  • 测试
    Windows 10 + Anaconda + r-base +Radian(terminated with exit code: 1)R 环境配置终极解决方案_第12张图片

4. 快捷键设置

将 R 的赋值符号设置为 alt+-

{
    "key": "alt+-",
    "command": "type",
    "args": {
        "text": " <- "
    },
    "when": "editorTextFocus"
}

Windows 10 + Anaconda + r-base +Radian(terminated with exit code: 1)R 环境配置终极解决方案_第13张图片

Windows 10 + Anaconda + r-base +Radian(terminated with exit code: 1)R 环境配置终极解决方案_第14张图片

5. 奇奇怪怪的问题

  • Error: unexpected symbol in "conda activate"
    Windows 10 + Anaconda + r-base +Radian(terminated with exit code: 1)R 环境配置终极解决方案_第15张图片

这是一个操作逻辑的问题,这个问题在 Every time R terminal opens in VS Code , getting below…any idea how to fix? 这篇帖子中被提及,大意是指,在Radian 通过 session 启动 rterminalpython 仍然向 terminal 发送激活虚拟环境的请求导致的,目前这个问题似乎仍然没有被解决。

这并不影响使用,只是在开始的出现一次,其后不会再出现,希以后更新的时候解决这个问题吧。

有个变通的方法就是,可以在 Vscode 完全加载系统组件前提前启动 rterminal, 这样就不会报错了。

Windows 10 + Anaconda + r-base +Radian(terminated with exit code: 1)R 环境配置终极解决方案_第16张图片

参考文献

[1] win10+python3下Anaconda的安装及环境变量配置
[2] Exception: cannot load R library
[3] Every time R terminal opens in VS Code , getting below…any idea how to fix?
[4] 在VSCode 中配置R 语言运行环境
[5] Exception: Cannot load shared library: The specified module could not be found.
[6] 如何在 VSCODE 中高效使用 R 语言 (图文详解)
[7] vscode 缓存路径_在vscode中配置R的开发环境
[8] Writing R in VSCode: A Fresh Start
[9] Writing R in VSCode: Interacting with an R session
[10] VSCode下配置R语言环境(Windows)
[11] 使用 VSCode 愉快地进行 R 远程开发

你可能感兴趣的:(windows,r语言,vscode)