检查是否从python安装了R.

时间:2014-08-15 16:05:35

标签: python linux r

我有一个python代码,可以调用许多函数,其中一个函数需要安装R software才能正常运行。

我如何在python内检查系统中是否安装了R,以避免在没有调用该函数的情况下调用该函数?

BTW我正在运行Linux发行版(基本操作系统,基于Ubuntu 12.04)

2 个答案:

答案 0 :(得分:3)

dpkg -s与子流程一起使用:

from subprocess import check_output
print check_output(["dpkg", "-s" , "r-base"])

或@ which @kay建议:

from subprocess import Popen, PIPE
proc = Popen(["which", "R"],stdout=PIPE,stderr=PIPE)
exit_code = proc.wait()
if exit_code == 0:
    print ("Installed")

使用PIPE您在输出

中看不到/usr/bin/R

答案 1 :(得分:2)

只需测试which R的结果:

from subprocess import check_call, CalledProcessError

try:
     check_call(['which', 'R'])
except CalledProcessError:
     print 'Please install R!'
else:
     print 'R is installed!'

这也适用于* BSD(包括Mac OSX)。