1. 问题提出
用了好多年的 Win10 专业版,频繁死机,没办法只能重装系统。折腾到 R 的时候悲剧了,一方面我希望系统环境尽量简洁,另一方面系统的管理更加一致,这就导致安装在 Anaconda中的R在Vscode中无法启动。
- vscode 给出的错误提示是:
terminated with exit code: 1
- Powershell 给出的错误提示是:
Exception: Cannot load share library
自此翻开了我无休止查阅文献的日子,遍阅中英文文献后,终于在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-base
与 Radian
在 Vscode 中的交互。
F:\Anaconda3
F:\Anaconda3\Scripts
F:\Anaconda3\Library\bin
F:\Anaconda3\Library\mingw-w64\bin
2. 基本配置
- Windows 10
- Visual Studio Code
- Anaconda
3. 环境搭建
- 3.1 Anaconda 虚拟环境搭建
<name_env>:请替换成自己的环境名
conda create --name <name_env> 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 环境添加到环境变量
- 2.3 Visual Studio Code 配置
安装 R 插件
注: R LSP 插件的功能已经合并到 R 插件中
r-base 配置
获取 R 的路径并进行配置
gcm R.exe
Radian 配置
将Rterm: Option
原来的--no-save
和--no-restore
删除,替换为--no-site-file
和--r-binary=<R 路径>
Rterm: Windows
为Radian
的路径
gcm Radian
- 测试
4. 快捷键设置
将 R 的赋值符号设置为 alt+-
{
"key": "alt+-",
"command": "type",
"args": {
"text": " <- "
},
"when": "editorTextFocus"
}
5. 奇奇怪怪的问题
Error: unexpected symbol in "conda activate"
这是一个操作逻辑的问题,这个问题在 Every time R terminal opens in VS Code , getting below…any idea how to fix? 这篇帖子中被提及,大意是指,在Radian
通过 session
启动 rterminal
后 python
仍然向 terminal
发送激活虚拟环境的请求导致的,目前这个问题似乎仍然没有被解决。
这并不影响使用,只是在开始的出现一次,其后不会再出现,希以后更新的时候解决这个问题吧。
有个变通的方法就是,可以在 Vscode 完全加载系统组件前提前启动 rterminal
, 这样就不会报错了。
参考文献
[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 远程开发