簡體   English   中英

檢查是否從python安裝了R

[英]Check if R is installed from python

我有一個調用許多函數的python代碼,這些函數之一需要安裝R軟件才能正常運行。

我如何從python內部檢查R是否已安裝在系統中,以避免未調用該函數?

順便說一句,我正在運行一個Linux發行版(基礎操作系統,基於Ubuntu 12.04)

在子進程中使用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

只需測試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)上運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM