R 错误";。在';tcltk'&引用;

R 错误";。在';tcltk'&引用;,r,tk,cran,R,Tk,Cran,关于如何有效地将任何类型的外部包加载到R中,我有一个一般性的问题。我发现许多详细说明这些信息的来源都是不够的,但我将不提及这些各自的URL。我以前已成功地将外部包加载到R中,但加载fgui包时遇到困难 在我的特定情况下,我无法将库fgui加载到R Studio中。首先,我使用以下命令直接从CRAN下载: install.packages("fgui", lib="~/Documents/R_dir") 这对我来说很好。我的工作目录设置为~/Documents/R\u dir 我使用的下一个命令

关于如何有效地将任何类型的外部包加载到R中,我有一个一般性的问题。我发现许多详细说明这些信息的来源都是不够的,但我将不提及这些各自的URL。我以前已成功地将外部包加载到R中,但加载
fgui
包时遇到困难

在我的特定情况下,我无法将库
fgui
加载到R Studio中。首先,我使用以下命令直接从CRAN下载:

install.packages("fgui", lib="~/Documents/R_dir")
这对我来说很好。我的工作目录设置为~/Documents/R\u dir

我使用的下一个命令是:

library("fgui", lib.loc="~/Documents/R_dir")
我得到的错误是:

Error : .onLoad failed in loadNamespace() for 'tcltk', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object '/Library/Frameworks/R.framework/Versions/3.1/Resources/library/tcltk/libs/tcltk.so':
dlopen(/Library/Frameworks/R.framework/Versions/3.1/Resources/library/tcltk/libs/tcltk.so, 10): Library not loaded: /opt/X11/lib/libX11.6.dylib
Referenced from: /Library/Frameworks/R.framework/Versions/3.1/Resources/library/tcltk/libs/tcltk.so
Reason: image not found
Error: package or namespace load failed for ‘fgui’
我已经检查了线程“”,但它没有回答我的问题


请帮助我提供任何建议,以使包
fgui
在R Studio中正常工作,并随时解决将外部包有效加载到R中的更一般问题。

tcltk
不是一个典型的包。它可能已经安装在您的系统上,无法使用通常的
install.packages
过程安装,因为它不在CRAN上(就像R附带的基本软件包一样,如
stats
,等等)。而且,
tcltk2
tcltk
不同;这是一个扩展(并依赖于)tcltk功能的包

所以,从这个开始:

> capabilities("tcltk")
tcltk 
 TRUE
如果返回
FALSE
,则表示您的R不是使用tcltk支持构建的。你没有说你正在使用什么操作系统,所以帮助你有点困难

也就是说,如果您使用的是Linux,则需要重新构建R。这应该相对简单。基本上,确保Tcl和tk在您的系统上的标准位置可用(类似于
sudo apt get install tcl8.5-dev tk8.5-dev
),然后按照常规步骤重新构建R

如果您使用的是Mac OS,则会遇到与此相同的错误。简言之,这可能是两件事之一:

  • 与安装了Tcl的目录相关的文件权限问题。引用Fox的话:“您可以通过在R命令提示符下发出以下命令来验证此问题的根源:

    system("ls -ld /usr/local /usr/local/lib /usr/local/lib/libtcl*")
    # ls: /usr/local/lib: Permission denied
    # ls: /usr/local/lib/libtcl*: Permission denied
    # drwx------  8 root  wheel  272 Sep 24 10:21 /usr/local
    
  • 如果系统命令的输出如上所示,则应转到终端并执行以下操作:
    sudo chmod-R a+rX/usr/local
    ,然后输入密码以更改目录权限

  • 您的X-Windows版本已过时。请尝试运行Mac OS软件更新
  • 它也可以通过创建符号链接来解决

    除非您在没有tcl/tk支持的情况下从源代码构建R,否则在Windows上永远不会出现这种情况

  • 删除位置上的X11文件:/opt
  • 删除应用程序Unitility上的X11
  • 重新安装X11
  • 问题解决了…

    说:

    注意:X11(包括tcltk)的使用需要 已安装,因为它不再是OS X的一部分。请始终重新安装 将OS X升级到新的主要版本时使用XQuartz

    因此:如果您想为Mac OS用户使用R中的
    tcltk
    软件包,只需(重新)安装XQuartz即可:

    我最近一直在努力解决这个问题,发现R-3.1.2有一个bug,它假设安装了otool,而实际没有安装

    R-3.0.0(及更高版本)附带Tck/Tk 8.6.0,因此您不需要安装它


    只需升级到更新版本的R(3.4.2)为我解决了这个问题。

    我也遇到了同样的问题,在发现一个简单的解决方案之前陷入了困境。如果你从bianry安装R,默认情况下它将包括tcltk。只需使用默认安装运行安装程序。你可以在这里获得.dmg:

    在Arch Linux上,
    tk
    是一个独立于
    tcl
    的包,两者都是需要安装:

    sudo pacman-S tcl-tk
    

    这是因为带有R的
    功能(“tcltk”)
    的输出为
    TRUE
    (这意味着您的R是使用
    tcltk
    支持编译的,如前面的答案所述,如果您是从arch repos安装的,则应如此).

    错误消息告诉您它无法加载tcltk包。您安装了它吗?您可以加载它吗?不是
    Operate
    RStudio的建议gui包吗?@joran我刚刚尝试插入
    install.packages(“tcltk2”,lib=“~/Documents/R\u dir”)
    在运行其他命令之前,仍然存在相同的错误。此外,install.packages中的
    install.packages(“tcltk”,lib=“~/Documents/R\u dir”)警告:包“tcltk”不可用(适用于R版本3.1.1)
    @KarstenW。一般来说,如果我想在R之外的其他东西中为我的R代码创建GUI,比如说,我想在wxpython中创建GUI,这可能吗?您是否注意到该软件包在近两年内没有更新,它的网站似乎不存在,并且它声称导入了一个软件包(tcltk)已从起重机上拆下并更换(我猜)使用tcltk2?这些都可能是很好的警告标志。上面的
    功能
    命令对我来说很好。我正在使用MacOSX并查看上面的链接。实际上,我得到的
    tcltk
    错误与该链接底部的错误非常相似。但是,运行
    系统(“ls-ld/usr/local/usr/local/lib/usr/local/lib/libtcl*”
    不会为我返回任何文件权限错误,执行
    sudo chmod-R a+rX/usr/local
    双重检查并重新运行所有内容并不能解决问题。键入
    library(tcltk)
    为我返回一个错误,不管怎样,
    错误:“tcltk”的包或命名空间加载失败。
    @Thomas我知道这是一篇旧文章,但…我在windows上有错误。anaconda navigator(依赖于rpy2)安装了R,我使用以下技巧解决了它: