使用
如何检查软件包是否已安装?
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")
install_packages()
时如果没有提供contriburl
,R会要求交互式输入关于使用哪个镜像的信息... 我猜想您希望完全自动化(如果交互式可以,请删除contriburl
)。 - lgautier警告信息: 在library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, : 没有叫做‘gtools’的包 Error in .Primitive("as.environment")("package:gtools") : 在搜索列表中没有名为"package:gtools"的项目
- Ricky RobinsonFile "/home/me/myProject/myProject/myScript.py", line 51, in <module> gtools = importr_tryhard("gtools", "http://cran.cnr.Berkeley.edu") File "/home/me/myProject/myProject/myScript.py", line 42, in importr_tryhard rpack = importr(packname) File "/usr/lib/python2.7/dist-packages/rpy2/robjects/packages.py", line 117, in importr env = _as_env(rinterface.StrSexpVector(['package:'+name, ])) rpy2.rinterface.RRuntimeError: Error in .Primitive("as.environment")("package:gtools") : no item called "package:gtools" on the search list
- Ricky Robinsonimportr()
会引发LibraryError异常。我已经修复了代码片段,但现在没有时间查看这个可能的小问题与异常。也许可以提交一个错误报告。 - lgautier