检查Python中是否安装了R
我有一段 python
代码,这段代码会调用很多函数,其中有一个函数需要安装 R
软件才能正常运行。
我该如何在 python
中检查系统是否安装了 R
,以便在没有安装的情况下避免调用那个函数呢?
顺便说一下,我正在使用一个 Linux 发行版(elementary OS,基于 Ubuntu 12.04)。
2 个回答
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)上也能用。
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
的