Sid*_*per 10 python r devtools reticulate
我还没有找到一些 R 包(没有,相信我)来完成我的任务,但是 python 中有一个。所以我写了python脚本并reticulaye::py_run_file('my_script.py')在一些函数中使用。但在构建和安装后,包找不到该脚本。我应该把这个脚本放在哪里,以便在安装后直接从包中使用它。另一件事,我需要安装 miniconda reticulate::install_miniconda()。有谁知道在 install.package 命令后自动安装它的方法?
Bri*_*ian 16
通常非 R 代码会进入./inst/python/your_script.py(JS 等也同样)。该inst文件夹中的所有内容都将原封不动地安装到包的根目录中。
要在包函数中调用这些文件,请使用以下内容:
reticulate::py_run_file(system.file("python", "your_script.py", package = "yourpkg"))
Run Code Online (Sandbox Code Playgroud)
请参阅: http: //r-pkgs.had.co.nz/inst.html
.onLoad对于第二个问题,您应该在安装任何内容之前提示用户,但您通常会在使用参数libname和调用的特殊函数中调用任何外部安装程序pkgname。这是一个当您调用时自动执行的函数library(yourpkg)。
.onLoad <- function(libname, pkgname) {
user_permission <- utils::askYesNo("Install miniconda? downloads 50MB and takes time")
if (isTRUE(user_permission)) {
reticulate::install_miniconda()
} else {
message("You should run `reticulate::install_miniconda()` before using this package")
}
}
Run Code Online (Sandbox Code Playgroud)
您可以将此函数放入任何 R 包文件中。
| 归档时间: |
|
| 查看次数: |
1512 次 |
| 最近记录: |