安装R包后出现rpy2错误

6

我试图使用名为“huge”的R软件包。在rpy2中,我遇到了一个问题,即我尝试安装此软件包,代码运行良好,使用以下代码:

import rpy2.robjects.packages as rpackages

# import R's utility package
utils = rpackages.importr('utils')

# select a mirror for R packages
utils.chooseCRANmirror(ind=1) # select the first mirror in the list

packnames = ('huge')

# R vector of strings
from rpy2.robjects.vectors import StrVector

# Selectively install what needs to be install.
# We are fancy, just because we can.
names_to_install = ['huge']
if len(names_to_install) > 0:
    utils.install_packages(StrVector(names_to_install))

只有警告提示,告诉我以下信息:
/home/johnzhou/anaconda3/envs/python35/lib/python3.5/site-packages/rpy2/rinterface/__init__.py:145: RRuntimeWarning: also installing the dependency ‘igraph’


  warnings.warn(x, RRuntimeWarning)
/home/johnzhou/anaconda3/envs/python35/lib/python3.5/site-packages/rpy2/rinterface/__init__.py:145: RRuntimeWarning: trying URL 'https://cloud.r-project.org/src/contrib/igraph_1.1.2.tar.gz'

  warnings.warn(x, RRuntimeWarning)
/home/johnzhou/anaconda3/envs/python35/lib/python3.5/site-packages/rpy2/rinterface/__init__.py:145: RRuntimeWarning: Content type 'application/x-gzip'
  warnings.warn(x, RRuntimeWarning)
/home/johnzhou/anaconda3/envs/python35/lib/python3.5/site-packages/rpy2/rinterface/__init__.py:145: RRuntimeWarning:  length 3376958 bytes (3.2 MB)

  warnings.warn(x, RRuntimeWarning)
/home/johnzhou/anaconda3/envs/python35/lib/python3.5/site-packages/rpy2/rinterface/__init__.py:145: RRuntimeWarning: =
  warnings.warn(x, RRuntimeWarning)
/home/johnzhou/anaconda3/envs/python35/lib/python3.5/site-packages/rpy2/rinterface/__init__.py:145: RRuntimeWarning: 

  warnings.warn(x, RRuntimeWarning)
/home/johnzhou/anaconda3/envs/python35/lib/python3.5/site-packages/rpy2/rinterface/__init__.py:145: RRuntimeWarning: downloaded 3.2 MB


  warnings.warn(x, RRuntimeWarning)
/home/johnzhou/anaconda3/envs/python35/lib/python3.5/site-packages/rpy2/rinterface/__init__.py:145: RRuntimeWarning: trying URL 'https://cloud.r-project.org/src/contrib/huge_1.2.7.tar.gz'

  warnings.warn(x, RRuntimeWarning)
/home/johnzhou/anaconda3/envs/python35/lib/python3.5/site-packages/rpy2/rinterface/__init__.py:145: RRuntimeWarning:  length 2946819 bytes (2.8 MB)

  warnings.warn(x, RRuntimeWarning)
/home/johnzhou/anaconda3/envs/python35/lib/python3.5/site-packages/rpy2/rinterface/__init__.py:145: RRuntimeWarning: downloaded 2.8 MB


  warnings.warn(x, RRuntimeWarning)
/home/johnzhou/anaconda3/envs/python35/lib/python3.5/site-packages/rpy2/rinterface/__init__.py:145: RRuntimeWarning: 
  warnings.warn(x, RRuntimeWarning)
/home/johnzhou/anaconda3/envs/python35/lib/python3.5/site-packages/rpy2/rinterface/__init__.py:145: RRuntimeWarning: The downloaded source packages are in
    ‘/tmp/RtmpOb6GhL/downloaded_packages’
  warnings.warn(x, RRuntimeWarning)
/home/johnzhou/anaconda3/envs/python35/lib/python3.5/site-packages/rpy2/rinterface/__init__.py:145: RRuntimeWarning: Updating HTML index of packages in '.Library'

  warnings.warn(x, RRuntimeWarning)
/home/johnzhou/anaconda3/envs/python35/lib/python3.5/site-packages/rpy2/rinterface/__init__.py:145: RRuntimeWarning: Making 'packages.html' ...
  warnings.warn(x, RRuntimeWarning)
/home/johnzhou/anaconda3/envs/python35/lib/python3.5/site-packages/rpy2/rinterface/__init__.py:145: RRuntimeWarning:  done

  warnings.warn(x, RRuntimeWarning)

然而,当我尝试使用以下方式加载软件包时:
rpy2.robjects.packages.importr("huge")

我收到一个错误信息,告诉我:
RRuntimeError                             Traceback (most recent call last)
<ipython-input-104-843fb8da3355> in <module>()
----> 1 rpy2.robjects.packages.importr("huge")

~/anaconda3/envs/python35/lib/python3.5/site-packages/rpy2/robjects/packages.py in importr(name, lib_loc, robject_translations, signature_translation, suppress_messages, on_conflict, symbol_r2python, symbol_check_after, data)
    451     if _package_has_namespace(rname, 
    452                               _system_file(package = rname)):
--> 453         env = _get_namespace(rname)
    454         version = _get_namespace_version(rname)[0]
    455         exported_names = set(_get_namespace_exports(rname))

RRuntimeError: Error in loadNamespace(name) : there is no package called ‘huge’

请问有人可以帮我解决这个问题吗?

谢谢

1个回答

2
您尝试过检查安装软件包的库吗?
我几天前也遇到了同样的问题,并按照以下步骤操作: 1. 使用R中的.libPaths()检查库路径 2. 尝试在R控制台中使用install.packages('软件包名称')安装软件包 3. 检查软件包是否安装在您在上面提到的1步骤得到的路径中。 4. 如果它安装在不同的库中,则只需将软件包从该目录简单复制到.libPaths()库中。
R会尝试在默认位置查找库,您只需要将软件包放入默认库路径中(使用.libPaths()查找)。
希望这可以帮助到您。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接