【问题标题】:Compiling a Stan model in R when Rtools is installed in a non-default directory in Windows 7当 Rtools 安装在 Windows 7 的非默认目录中时,在 R 中编译 Stan 模型
【发布时间】:2018-01-03 08:35:13
【问题描述】:

我需要将 Rtools 安装在非默认目录中,因为我使用的 Windows 系统在重新启动后会将 C 驱动器恢复为原始映像。此图像包括 R 3.3 和 R studio。

使用setx /M PATH "%PATH%;foo/bar/bin;foo/bar/compiler/bin" 命令在没有管理员权限的情况下设置PATH 环境变量后,我使用system('g++ -v') 测试了编译器是否可以在R 中访问。这奏效了——成功!

...除了,当我使用 R 中的 brms 包编译 Stan 模型时,我收到以下错误:

  Compilation ERROR, function(s)/method(s) not created! c:/Rtools/mingw_64/bin/g++: not found

如果我将 mingw_64 目录复制到 c:/Rtools 目录,我可以编译模型,但这是一个大文件夹,需要一些时间(约 4 分钟)。 不幸的是,我不能简单地创建 Rtools 目录的快捷方式或符号链接,因为我没有管理员权限。

这个默认目录是硬编码到 Stan 中的吗?我简要查看了 GitHub 上的代码,但没有看到任何类似的内容。

是否还有其他环境变量等。我需要设置吗?或者,您有其他解决方法的想法吗?

【问题讨论】:

    标签: c++ r stan


    【解决方案1】:

    您必须修改配置说明 cat('Sys.setenv(BINPREF = "C:/Rtools/mingw_$(WIN)/bin/")', file = file.path(Sys.getenv("HOME"), ".Rprofile"), sep = "\n", append = TRUE) 到您的 Rtools 所在的任何目录。

    【讨论】:

    • 对其他人来说显而易见:将 C:/Rtools/... 替换为 Rtools 的路径。您可能需要路径的短名称版本。如果是这样,请使用此 link 即达到此效果的东西 for %I in (.) do echo %~sI
    猜你喜欢
    • 2021-05-21
    • 2013-11-21
    • 1970-01-01
    • 2018-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-03
    相关资源
    最近更新 更多