【问题标题】:Tcl not working with R on Linux CentOS 7, how to solve it?Tcl 在 Linux CentOS 7 上不能与 R 一起工作,如何解决?
【发布时间】:2018-01-07 10:03:43
【问题描述】:

我一直在我的 Linux CentOS 7 系统上使用 R 和 Rscript,多年来一切正常。

今天我尝试安装一个包,clusterSim,但我的 R 环境似乎不再工作了。这是我得到的错误:

install.packages("clusterSim");

--- 请选择在此会话中使用的 CRAN 镜像 --- 警告:无法下载镜像文件(无法加载 Internet 例程); 使用本地文件'/home/davide/miniconda3/lib/R/doc/CRAN_mirrors.csv' 错误:'tcltk' 的 loadNamespace() 中的 .onLoad 失败,详细信息:调用: fun(libname, pkgname) 错误:在 以下目录: /opt/anaconda1anaconda2anaconda3/lib/tcl8.5 ./lib/tcl8.5 ./lib/tcl8.5 ./library ./library ./tcl8.5.18/library ./tcl8.5.18/library

这可能意味着 Tcl 没有正确安装。

我尝试安装 tcl,但收到以下消息:

sudo yum -y 安装 tcl

加载的插件:fastestmirror、langpacks 从缓存的主机文件 * 基础加载镜像速度: centos.mirror.rafal.ca * epel:mirror.math.princeton.edu * extras: mirror2.evolution-host.com * ius: mirror.team-cymru.org * nux-dextop:li.nux.ro * 更新:centos.mirror.iweb.ca 包 1:tcl-8.5.13-8.el7.x86_64 已安装最新版本 无 去做

关于如何解决这个问题的任何想法?谢谢

【问题讨论】:

  • 您的 R 版本是使用 tcltk 功能创建的吗?在 R 中尝试capability() 以找出答案。如果没有,那么您需要更好的 R 版本。另请参阅 stat.ethz.ch/pipermail/r-help/2011-April/274424.html 。如果你有 apt-get 那么sudo apt-get install tck-dev tk-dev 会得到最新版本的 tcltk。
  • 谢谢@G.Grothendieck。我输入了capability(),但没有找到任何东西(Error: could not find function "capability")。我检查了tktk-dev,它们都安装了最新版本。其他建议?
  • 对不起,我是capabilities()
  • capabilities() 输出:capabilities() jpeg png tiff tcltk X11 aqua TRUE TRUE TRUE TRUE TRUE FALSE http/ftp sockets libxml fifo cledit iconv TRUE TRUE TRUE TRUE TRUE TRUE NLS profmem cairo ICU long.double libcurl TRUE TRUE TRUE TRUE TRUE TRUE。基本上,只有aquaFALSE。我该怎么办?谢谢

标签: r linux tcl


【解决方案1】:

与此相关的内容已被报告为错误,但已被部分纠正。

你试过了吗?

install.packages("clusterSim", repos='http://cran.us.r-project.org')

查看this 了解更多信息!!!

【讨论】:

    【解决方案2】:

    在我看来,您使用的是 conda 安装的 R。当您在终端中使用 /usr/bin/R 打开 R 时,您是否也会遇到此问题,因为我相信 which R 会指向您的 conda 存储库。

    更多信息请参见How to install R-packages not in the conda repositories?

    我使用以下两种方法之一解决了这个问题:

    1. 在安装软件包之前,我手动选择了我的 CRAN 镜像 chooseCRANmirror(graphics=F)

    2. 在安装之前我关闭了图形菜单 options("menu.graphics"=F)

    3. 确保 conda 在您 PATH 中的 /usr/bin 之后,检查您的 ~/.bashrc

    【讨论】:

    • 谢谢@mmoisse,第 (3) 点是什么意思?我尝试了第 (1) 和 (2) 点,不幸的是没有任何改变。
    • 如果命令which R 会说类似/software/miniconda2/bin/R 而不是/usr/bin/R 这将是一个解决方案。在这种情况下,您应该编辑您的~/.bashrc file。在该文件中,您将看到类似# added by Miniconda2 4.2.12 installer 的行,然后是export PATH="/software/miniconda2/bin:$PATH"。您可以将其更改为 export PATH="$PATH:/software/miniconda2/bin" 并重新启动计算机(或注销并登录)。
    【解决方案3】:

    感谢GitHub上的一些朋友,我能够解决这个问题。

    问题是现在我的笔记本电脑上有多个版本的 R:

    1. /usr/bin/R:我想用的标准版;

    2. ~/miniconda3/bin/R: Miniconda 安装的版本给我带来了麻烦。

    首先我必须了解我的系统默认使用的版本。我可以使用返回 ~/miniconda3/bin/Rwhich R 命令来完成此操作

    然后我意识到我可以通过告诉系统停止使用 R Miniconda 版本并改用 /usr/bin/R 版本来解决问题。

    我通过编辑~/.bashrc 文件来做到这一点。在$PATH 中,我最喜欢的 R 版本路径必须写在 Miniconda 之前。

    因此我的~/.bashrc 文件现在是这样的:

    PATH=/usr/local/bin:$PATH
    PATH=/usr/bin:$PATH
    ...
    export PATH="$PATH:/home/davide/miniconda3/bin"
    

    就是这样;我希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-02
      • 2018-04-25
      相关资源
      最近更新 更多