【问题标题】:rpy2 error after installing r package安装r包后rpy2错误
【发布时间】:2018-03-04 19:10:52
【问题描述】:

我正在尝试使用名为“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’

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

谢谢

【问题讨论】:

    标签: python r rpy2


    【解决方案1】:

    您是否尝试过检查安装包的库?

    几天前我遇到了同样的问题,我按照以下步骤操作 1. 在 R 中使用 .libPaths() 检查库路径 2. 尝试使用 install.packages('package name') 在 R 控制台中安装包 3. 检查软件包是否安装在上述第 1 步获得的路径中。 4. 如果它安装在不同的库中,那么只需将该目录中的包简单复制到 .libPaths() 库中。

    R 尝试在默认位置查找库,您只需将包放在默认库路径中(使用 .libPaths() 查找)

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-18
      • 2014-02-27
      • 2018-06-29
      • 1970-01-01
      • 2015-02-03
      • 2016-01-04
      • 2021-07-05
      • 2016-09-26
      相关资源
      最近更新 更多