【问题标题】:Emacs ESS won't call REmacs ESS 不会调用 R
【发布时间】:2013-12-07 19:00:36
【问题描述】:

如果有人能指导我解决某个特定问题,我将不胜感激...我想我知道是什么原因造成的,但我不知道如何解决它。

问题——Emacs ESS 无法启动 R。

原因-- 我安装了 OpenFOAM,这是一个开源流体建模工具包,它有自己的函数 R,并以字母“R”执行。 (即在命令行中键入“R”,它会尝试运行 OpenFOAM 函数,而不是 R)。我认为通过安装 OpenFoam,我已经覆盖了以前调用语言 R 的“R”,因此 ESS 试图调用 R 时会混淆。

环境——我正在 ssh'ing 到一个运行科学 linux 的远程客户端,我没有 root 访问权限。我不完全了解 ESS 调用的是我帐户本地的以及非本地调用的内容。

从命令行调用 /usr/bin/./R 会启动一个 R 实例。如何修改 ESS 使其调用“/usr/bin/./R”?

这是我能找到的最接近的,ESS to call different installations of R,但据我所知,我的系统在其执行路径上根本没有 R-1 或 R-2,所以我不知道如何类似的。

【问题讨论】:

  • 我不确定我是否遵循 OpenFOAM 正在做的事情,但也许 this answer 的一部分会帮助您解决问题。除其他外,它还展示了如何将 R 的 R-3.*.* 版本放在 exec 路径中。
  • 嗯......它对我还不起作用。有没有办法找出 ESS 在尝试启动 R 时到底调用了什么?
  • 在我的(正常运行的)Emacs 上,C-h f R 告诉我 M-x R 启动了一个调用 R 的交互式 lisp 函数。Doing M-x R <TAB> <TAB> 还提供了许多与 R 相关的补全。
  • 您对 Windows 位的看法是正确的。不过,C-h f R 应该告诉你M-x R 运行什么。不过,我可能无法提供更多帮助,因为我不是任何类型的 Emacs/ESS 向导。
  • R-newest 与 R 相关(尝试C-h f R-newest 来查看)。 确实听起来 ESS 无法找到您的 R 可执行文件所在的目录。在 Windows 上,我会说检查 C-h v inferior-R-program-nameC-h v ess-directory-containing-RC-h v ess-r-versions 的值,但如果 Unix 使用与 Windows 不同的系统来处理这些事情,我想这些不会有帮助。

标签: r unix emacs


【解决方案1】:

我遇到了同样的问题。按照 Josh O'Brien 的链接和提示,我放了

;; Set default R version, (i.e. the one launched by typing M-x R <RET>)
(setq inferior-R-program-name "/usr/bin/R")

在我的.emacs 文件中。现在它完美地工作了。

【讨论】:

  • Setq 是否应该全部小写: setq ?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-20
  • 2018-06-02
  • 1970-01-01
  • 1970-01-01
  • 2010-11-09
  • 2011-08-19
相关资源
最近更新 更多