rpy2:检查软件包是否已安装

Ric*_*son 2 python install r package rpy2

使用rpy2,我想检查是否安装了给定的包.如果是,我导入它.如果没有,我先安装它.

如何检查是否已安装?

from rpy2 import *
if not *my package is installed*:
   rpy2.interactive as r
   r.importr("utils")
   package_name = "my_package"
   r.packages.utils.install_packages(package_name)
myPackage = importr("my_package")
Run Code Online (Sandbox Code Playgroud)

lga*_*ier 6

这是一个在Python端执行的功能(注意contriburl,应该设置为CRAN镜像,并且不处理安装库失败的情况).

from rpy2.rinterface import RRuntimeError
from rpy2.robjects.packages import importr
utils = importr('utils')

def importr_tryhard(packname, contriburl):
    try:
        rpack = importr(packname)
    except RRuntimeError:
        utils.install_packages(packname, contriburl = contriburl)
        rpack = importr(packname)
    return rpack
Run Code Online (Sandbox Code Playgroud)