【问题标题】:Invoke Python command from R script with System()使用 System() 从 R 脚本调用 Python 命令
【发布时间】:2017-01-18 23:33:43
【问题描述】:

在我的 R 脚本中,我必须执行一个外部 Python 脚本,并且我会使用 System() function

system("python -m premailer -f daily-report.html -o
ready-weekly-report.html")

但是在 R 控制台中运行它之后,这就是我得到的

/usr/bin/python: No module named premailer

如果我从终端运行 python 命令,一切正常。

编辑

  • 我尝试在这个 R 脚本中运行的命令是 premailer (https://github.com/peterbe/premailer)
  • 我已经在我的机器上安装了premailer
  • 我使用的是 Unix 操作系统

【问题讨论】:

  • python 模块premailer 没有安装?如果是这种情况,那么在重试之前pip install premailer
  • premailer 它实际上已安装,并且可以在终端上完美运行。从 R 脚本调用它时它不起作用。
  • 我用 Python 3.5.2 尝试了 win 10 (64bit) R 3.3.2 上提供的 system 命令,除了找不到 html 文件外,它可以工作。猜猜你使用的是 *nix os?
  • 有趣。但是,是的,我使用的是 Unix 操作系统。
  • @Sixiang.Hu 这是截图。 i.stack.imgur.com/bw5HB.png

标签: python r premailer


【解决方案1】:

这就是我解决这个问题的方法。

将以下行添加到该文件的末尾,在重新启动我的 R 内核后向我显示了 Rstudio 中的正确路径:

.Internal(Sys.setenv("PATH", paste("/usr/local/bin", Sys.getenv("PATH"), sep=":")))

【讨论】:

    猜你喜欢
    • 2018-03-04
    • 2015-07-30
    • 2015-12-20
    • 1970-01-01
    • 1970-01-01
    • 2015-05-18
    • 2016-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多