美文网首页
r - 如何安装不在 conda 存储库中的 R 包?

r - 如何安装不在 conda 存储库中的 R 包?

作者: siyao41 | 来源:发表于2021-08-16 16:56 被阅读0次

原文 标签 r anaconda readline ncurses conda

我正在使用 Anaconda 来管理我的 R 安装。它适用于 Anaconda 提供的 R channel 中可用的软件包,但我在安装 Anaconda 存储库中未包含的软件包时遇到了麻烦。

我尝试了几种不同的方法,下面列出了所有方法及其错误输出。

1. install.packages('rafalib')
建议在这里工作 conda - How to install R packages that are not available in "R-essentials"? 。我的 .libPaths() 指向 '/home/user/anaconda2/lib/R/library'

出去:

--- Please select a CRAN mirror for use in this session ---
Error in download.file(url, destfile = f, quiet = TRUE) : 
  unsupported URL scheme
Error: .onLoad failed in loadNamespace() for 'tcltk', details:
  call: fun(libname, pkgname)
  error: Can't find a usable init.tcl in the following directories: 
    /opt/anaconda1anaconda2anaconda3/lib/tcl8.5 ./lib/tcl8.5 ./lib/tcl8.5 ./library ./library ./tcl8.5.18/library ./tcl8.5.18/library

This probably means that Tcl wasn't installed properly.

我从 conda channel tcl 安装了 r-old ,但 install.packages() 仍然抛出相同的错误消息。

2. options(menu.graphics=FALSE) 然后 install.packages('rafalib')
我得到了一个镜子列表并选择了一个。

出去:

Selection: 15
trying URL 'http://cran.utstat.utoronto.ca/src/contrib/rafalib_1.0.0.tar.gz'
Content type 'application/x-gzip' length 11798 bytes (11 KB)
==================================================
downloaded 11 KB

sh: symbol lookup error: sh: undefined symbol: rl_signal_event_hook

The downloaded source packages are in
        ‘/tmp/Rtmphwpta0/downloaded_packages’
Warning message:
In install.packages("rafalib") :
  installation of package ‘rafalib’ had non-zero exit status

2 和 3 都来自 Disable/suppress tcltk popup for CRAN mirror selection in R

3.在~/.Rprofile中设置镜像

在尝试 install.packages() 之前,我在 ~/.Rprofile 中添加了以下内容。

## Default repo
local({r <- getOption("repos");
       r["CRAN"] <- "http://cran.us.r-project.org"; 
       options(repos=r)})

出去:

trying URL 'http://cran.us.r-project.org/src/contrib/rafalib_1.0.0.tar.gz'
Content type 'application/x-gzip' length 11798 bytes (11 KB)
==================================================
downloaded 11 KB

sh: symbol lookup error: sh: undefined symbol: rl_signal_event_hook

The downloaded source packages are in
        ‘/tmp/RtmppIz9rT/downloaded_packages’
Warning message:
In install.packages("rafalib") :
  installation of package ‘rafalib’ had non-zero exit status

4. 将下载方法设置为'curl' 或'wget'。

同时保留新的 ~/.Rprofile configuration 。我想这不是必需的,因为该软件包现在似乎可以正常下载,但我进行了测试以防万一。

出去:

sh: symbol lookup error: sh: undefined symbol: rl_signal_event_hook
Warning in download.packages(pkgs, destdir = tmpd, available = available,  :
  download of package ‘rafalib’ failed
Warning message:
In download.file(url, destfile, method, mode = "wb", ...) :
  download had nonzero exit status

5.手动download of rafalib
install.packages('../Downloads/rafalib_1.0.0.tar.gz', repos=NULL, type='source')
出去:

sh: symbol lookup error: sh: undefined symbol: rl_signal_event_hook
Warning message:
In install.packages("../Downloads/rafalib_1.0.0.tar.gz", repos = NULL,  :
  installation of package ‘../Downloads/rafalib_1.0.0.tar.gz’ had non-zero exit status

6. 从 rafalib 构建 conda 包

我为此 Errors building R-packages for conda 开了一个单独的问题。简而言之,它提示缺少我已经安装的依赖项。 更新 我解决了依赖问题,现在我遇到了与其他方法相同的 rl_signal_event_hook -error。

7. sudo ln /usr/lib/libncursesw.so.6 /usr/lib/libncursesw.so.5
根据 https://github.com/conda/conda/issues/1679 ,但它没有为我解决问题。

所以看起来我现在可以正常下载软件包,但安装失败。我之前在 sh: symbol lookup error: sh: undefined symbol: rl_signal_event_hook 中将 R 与 irkernel 一起使用时,我已经看到了错误消息 Jupyter Notebook ,但它从未妨碍我的工作。在通过 anaconda 运行 python 时,我从未见过与该错误消息相关的任何内容。

我没有想法了。有谁知道我如何安装 anaconda 不提供的 R 包,例如 rafalibswirl

我使用内核为 4.4.5-1-ARCH 的 Linux(Antergos,Arch 衍生产品)。

更新 2016/04/15

有一些 related discussion in this thread 。我尝试通过安装不同版本的 ncurses(包括 this patched version )来解决此错误,并且我尝试链接 readline 库 as suggested here ,但我一直遇到相同的错误。在这一点上我很迷茫,任何解决这个问题的帮助将不胜感激。

最佳答案

有关管理Anaconda R中和不在Anaconda R中的软件包的详细信息:http://ihrke.github.io/conda.html

本质上是使用命令:

conda skeleton cran <package_name>
conda build <package_name>

如果包具有不在 Anaconda 中的依赖项:

conda skeleton cran <dependency1>
conda skeleton cran <dependency2>
conda build <package_name>

基本上我会同意这篇文章说我不明白 install.packages() 如何与 Anaconda 一起工作。我似乎看到的是 Anaconda 创建了一个 R 环境,其中保留了从 install.packages() 安装的所有软件包。

每当我使用 R 在 Jupyter 中工作时,我都会使用这个环境并且能够访问我使用 install.packages() 安装的所有包

关于r - 如何安装不在 conda 存储库中的 R 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36652015/

转自:https://www.coder.work/article/6238947

相关文章

  • r - 如何安装不在 conda 存储库中的 R 包?

    原文[https://stackoverflow.com/questions/36652015/] 标签 r[ht...

  • 学习安装 Bioconductor

    1.R 中安装 2.conda 安装环境 进入R 配置 R 环境下 更新安装R包 安装ggplot2 3、常用安装...

  • 用conda 安装R包

    1,用conda 安装R包: conda install -c conda-forge r-digest 2,co...

  • R

    1. R安装 conda install r-base #安装R语言 conda install r-string...

  • R包安装的一些经验总结

    在安装R包的过程中,经常会遇到conda安装不上的情况 场景:R虚拟环境的迁移有的时候老的R包版本过低等问题,导致...

  • conda 安装R语言及其R包

    conda能安装上R3.5之后的版本和R包。 001.下载conda windows 到清华 https://mi...

  • 2019-05-05

    conda 安装R语言以及R包 可以在http://repo.anaconda.com/pkgs/r/上使用con...

  • 【生信基础】conda 安装R和R包

    conda 安装R环境,主要命令如下: conda 创建R环境 2.激活创建的环境,后面安装的包和软件都会在此环境...

  • 四R 4.1 docker 构建

    R包的安装往往令人头疼,总是会遇到各种各样的问题,虽然conda 安装R,使得R包安装有了些许方便,但有些时候 c...

  • Linux中安装R包pophelper

    R包版本首先使用conda下载devtools 进入R并使用devtools下载pophelper 如图 成功安装...

网友评论

      本文标题:r - 如何安装不在 conda 存储库中的 R 包?

      本文链接:https://www.haomeiwen.com/subject/vtxvbltx.html