python - 在 Windows 7 下从 python 启动时找不到 R 包

标签 python r windows-7 package rscript

我尝试通过 python GUI 运行 R 脚本。

在 R 控制台下,我安装了 rgl 包。在 windows-7 中,R 在当前用户文件夹下安装包,而不是 ProgramFiles\R... 文件夹。

我有一个简单的demo.r 脚本:

library('rgl')
example('plot3d')

如果我通过以下命令行使用新安装的 rgl 包运行 demo.r 脚本:

"c:\ProgramFiles\R\R..\bin\Rscript.exe" demo.r

效果很好!

现在,如果我使用以下脚本从 python 运行它:

import subprocess
out = subprocess.check_output([r"c:\ProgramFiles\R\R..\bin\Rscript.exe", "demo.r"])

我收到一条错误消息,提示未找到/未安装 rgl。

我检查过如果我的 demo.r 只包含一个简单的打印到屏幕命令,它就可以工作。这意味着当从 python 启动时,Rscript.exe 不再知道在哪里可以找到用户文件夹下的 rgl 包。

如果我将 rgl 包文件夹从用户文件夹复制到 ProgramFiles\R... 文件夹,则它可以工作。

有人知道我如何指定让 python 运行 R 脚本并使用用户文件夹中的包吗?

谢谢

最佳答案

我认为最好创建一个 lanucher.bat

R_PATH :C:/Program Files/R/R-version

DEMO_PATH : 你的 demo.r 路径

@echo off
C:
PATH R_PATH;%path%
cd DEMO_PATH
Rscript demo.R 
exit

您将 launcher.bat 保存在LAUNCHER_PATH

现在在 python 中:

import subprocess
out = subprocess.check_output('LAUNCHER_PATH\launcher.bat')

PS:如果你在你的 python 脚本中添加一些参数,很容易将它们添加到你的 launcher.bat 中,而无需更改你的 python 代码

 Rscript demo.R arg1 arg2

关于python - 在 Windows 7 下从 python 启动时找不到 R 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13642618/

相关文章:

r - 提取因子水平的名称

c# - 声称类似于 Windows 任务栏的桌面空间的 WPF 应用程序

c++ - 当我从 Windows 请求 "Miriam"字体时,我得到一个 "Arial"字体。这怎么可能,因为我的系统中存在字体文件 "mriam.ttf"?

Java 在 Win 7 HP 上找到一个 "Documents and Settings"文件夹。我一个也看不见

python - 根据另一个列表的内容从一个列表中删除项目

python - 如何提取特定字符之间的单词

python - 用条件列手段填充单元格

R包创建函数名称和.R/.rd名称

r - 填充ggplot2 : geom_area()中折线图下的区域

python - 获取keras模型的学习率