【问题标题】:Temporarily Stop R From Recording History暂时停止 R 记录历史
【发布时间】:2019-04-19 18:50:45
【问题描述】:

总的来说,我发现它非常有用,可以保存我的 R 历史记录。我每周或更多地参考它。控制台中的探索性工作逐渐完善并添加到文件中。

有时命令中会包含一个秘密,例如 API 密钥或搜索包含机密信息的数据帧,在这种情况下,我希望能够禁用仅为该命令保存的历史记录,并在之后立即重新启用它.尽可能像 bash 的 ignorespace 选项。

我很高兴有一个可以在 R 或 RStudio 中运行的解决方案,两者都会更好。我知道可以通过转到Tools > Options > General > Always save history 手动禁用历史记录,但我正在寻找一个命令(或键盘快捷键),以便可以快速打开或关闭它。

编辑:我认为可能有效但似乎根本没有帮助的东西是将“R_HISTFILE”设置为 FALSE 或不存在的文件。它至少对 RStudio 的历史没有帮助。我对它实际上做了什么的检查还不是很彻底。

【问题讨论】:

  • 它不会关闭日志记录,但您是否考虑过这些选项之一? cran.r-project.org/web/packages/httr/vignettes/secrets.html.
  • @BigDataScientist 谢谢你,它确实适用于 API 密钥用例,并且有很多很棒的一般建议,但是对于敏感的 ad-hoc 搜索的情况,有一些更快的东西真的很好数据。
  • 我不确定这是否适用于当前版本的 RStudio,请参阅我的回答的“关于机密信息:”段落中的链接。

标签: r rstudio


【解决方案1】:

正如我在评论中所说,有一些方法可以避免将 API 密钥存储在历史文件中。由于评论似乎收集了一些赞成票,因此可能值得努力在答案中扩展它。

有时命令中会包含一个秘密,例如 API 密钥或搜索包含机密信息的数据帧,在这种情况下,我希望能够禁用仅为该命令保存的历史记录,并在之后立即重新启用它.

我认为目前只能通过当前版本的 RStudio 找到“API 密钥问题”的解决方案,请参阅段落链接中的 cmets:“关于机密信息:”

但是,在等待灵魂推荐时,您可能会对这个页面感兴趣:https://cran.r-project.org/web/packages/httr/vignettes/secrets.html

避免存储 API 密钥比我认为的 data.frame 的机密信息更容易。

关于机密信息:

介绍的时间更长,但“干净”: 我认为值得将其添加为出色的 rstudioapi 软件包的功能请求或在此处添加:

快速介绍,但很脏: - 一个 hacky 肮脏的解决方法是引入一个加载项来删除历史文件中的最后一个插入。

信息存储

此处描述了设置的存储位置:https://support.rstudio.com/hc/en-us/articles/200534577-Resetting-RStudio-Desktop-s-State

您可以导航到 Rstudio-desktop 文件夹。例如。在 Windows 上,在资源管理器中输入:%localappdata%\RStudio-Desktop。

您正在寻找的全局选项可以在这里找到:..\monitored\user-settings\user-settings。

Rstudio - 工具 - 全局选项 - 常规中的标志“始终保存历史记录,...”是..\monitored\user-settings\user-settings中的第一个值。

很遗憾,RStudio 不会监听该文件中的更改,因此您必须重新启动 RStudio 才能使更改可见。因此,目前暂时无法阻止 Rstudio 记录历史记录。

关于 API 密钥,让我总结一下该页面的一些方法:

  • 添加一个“弹出窗口”来询问密码:rstudioapi::askForPassword()
  • 使用环境变量。您避免弹出窗口,但我认为它只是将机密信息的记录从“历史”移动到 envar。
  • 终于看到了keyring 包,用于将数据存储在操作系统的秘密存储中。

【讨论】:

  • 我会再等一天左右,以防某个每隔一个星期三才登录的巫师知道一个秘密。
  • 以防万一您有兴趣,我刚刚找到了有关历史记录信息的存储位置。我进行了编辑,请参阅“信息存储”。无法解决问题,但可能会很有趣,...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-12
  • 1970-01-01
  • 2015-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多