在Python中调用R包时出现问题

2024-10-01 15:31:36 发布

您现在位置:Python中文网/ 问答频道 /正文

对于context:我的目标是创建一个图形界面,这样用户就可以运行我在R中开发的程序。该接口是使用python的Tkinter模块(版本3.3)完成的。现在我正在努力使它在Windows下工作

我相信我已经成功地使用python调用了R解释器来运行我的R文件(run.R)。在这个文件中,我将R包称为'sekinr'。然而,当我从python调用R解释器时,我得到:

我运行这个:

os.system('C:/"Program Files"/R/R-3.6.1/bin/Rscript run.R')

我得到这个:

Error in library(seqinr) : there is no package called 'seqinr'
Calls: source -> withVisible -> eval -> eval -> library
Execution halted

但是,当我在命令提示符下运行'C:/“Program Files”/R/R-3.6.1/bin/Rscript run.R'命令时,它运行得非常好,没有问题。 我还检查了我的软件包的安装位置,以及它在默认目录中,R使用它来安装所有的软件包。我也没有任何其他的R版本安装在我的机器上

我不知道现在发生了什么,所以我很感激任何帮助

谢谢你


Tags: 文件run用户版本目标binevalcontext
1条回答
网友
1楼 · 发布于 2024-10-01 15:31:36

虽然可能不令人满意,但我建议更改“run.R”文件以包含以下行:

if (!("seqinr" %in% installed.packages())) {
    install.packages('seqinr', repos = "https://cloud.r-project.org")
}
library(seqinr)

如果从Python调用R时,在任何地方都找不到包,那么将安装该包。此外,您可以在“run.R”文件中包含print(rownames(installed.packages())),以查看在运行时从Python调用时,R安装当前可用的包。包含行print(.libPaths())也将告诉您R在运行时查找已安装包的位置

相关问题 更多 >

    热门问题