VS Code中R语言Jupyter Notebook工作目录异常求助(版本1.74.0)
解决VS Code中R语言Jupyter Notebook工作目录不更新的问题
以下是几个实测有效的解决办法:
修改R内核启动配置
macOS下找到R内核的配置文件~/Library/Jupyter/kernels/ir/kernel.json,用文本编辑器打开后,把argv里的启动命令改成包含工作目录设置的代码:{ "argv": [ "/usr/local/bin/R", "--slave", "-e", "setwd(dirname('{connection_file}')); IRkernel::main()", "--args", "{connection_file}" ], "display_name": "R", "language": "R" }保存后重启VS Code,每个R笔记本启动时都会自动切换到文件所在目录。这里利用Jupyter传递的
{connection_file}临时文件路径,通过dirname()提取出笔记本的目录并设置为工作目录。关闭R会话复用
在VS Code的设置面板中搜索R: Session Watcher,取消勾选该选项。这样每个R笔记本都会启动独立的R会话,不再复用之前的会话,自然会遵循Notebook File Root的设置。临时手动设置(快速方案)
如果不想修改配置,可在每个R笔记本的第一个单元格添加以下代码(需要先安装rstudioapi包):install.packages("rstudioapi") # 仅首次需要 setwd(dirname(rstudioapi::getSourceEditorContext()$path))运行后会自动切换到当前笔记本的所在目录。
内容的提问来源于stack exchange,提问作者carbocation
相关产品推荐
相关产品推荐

