【发布时间】:2015-12-23 15:27:32
【问题描述】:
我遇到了让 tcltk 在 r-gui 上正常运行的问题。这是我想使用的其中一个包(aplpack)的必需包。
初步资料
13 英寸 Macbook Air
OSX Yosemite - 版本 10.10.5
R 版本 3.2.3
R.app GUI 1.66 (6956) x86_64-apple-darwin14.5.0
r 和 r-gui 是通过 homebrew 安装的
为了使用 bagplot 功能,我安装了 aplpack。加载包后,我收到以下输出:
加载所需的包:tcltk 2015-12-23 09:44:11.134 R[6529:31353] -[NSApplication _setup:]:无法识别的选择器发送到实例 0x60800011b3f0 2015-12-23 09:44:11.135 R[6529:31353] *** run_REngineRmainloop:异常-[NSApplication _setup:]:无法识别 发送到实例 0x60800011b3f0 的选择器在 REPL 迭代期间捕获。 更新到最新的 GUI 版本并考虑正确报告 (见常见问题解答)如果它持续存在并且未知。考虑保存您的工作 以防万一这发展成为问题。
会话变得没有响应,我不得不强制退出。
为了尝试解决问题,我检查了是否安装了 tcltk:
> capabilities()["tcltk"]tcltk
是的
它也可以通过包管理器使用,但尝试通过 gui 和使用 library("tcltk") 加载它会导致 R 变得无响应并导致相同的错误:
2015-12-23 09:49:24.370 R[6571:33844]-[NSApplication_setup:]: 无法识别的选择器发送到实例 0x608000108f70 2015-12-23 09:49:24.370 R[6571:33844] *** run_REngineRmainloop: 异常 -[NSApplication _setup:]:发送到实例 0x608000108f70 的未识别选择器在 REPL 迭代期间捕获。更新到最新的 GUI 版本并考虑正确报告此问题(请参阅常见问题解答)如果它仍然存在 并且不为人知。考虑尽快保存您的工作,以防出现这种情况 遇到问题。
一些谷歌搜索导致我执行以下操作:
- 通过自制软件卸载 r-gui
- 通过自制软件卸载 r
- 下载并安装最新版本的 xquartz
- 安装了 homebrew/dupes/tcl-tk(我认为应该可以解决问题)
- 运行 brew 更新
- 运行 brew 升级
- 跑 brew doctor
- 通过自制软件安装 r
- 通过自制软件安装 r-gui
采取上述步骤后,我仍然遇到与以前相同的问题。 这是 sessionInfo() 的输出:
sessionInfo() R 版本 3.2.3 (2015-12-10) 平台:x86_64-apple-darwin14.5.0 (64-bit) 运行于:OS X 10.10.5 (优胜美地)
语言环境:[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
附加的基础包:[1] stats graphics grDevices utils
数据集方法库
按照 Mac OSX FAQ 中的建议(尝试复制问题),我在终端中打开了 r,不仅可以加载 tcltk,还可以加载 aplpack:
R 版本 3.2.3 (2015-12-10) -- “木制圣诞树” 版权所有 (C) 2015 统计计算平台 R 基金会: x86_64-apple-darwin14.5.0(64位)
R 是免费软件,绝对不提供任何担保。你是 欢迎在特定条件下重新分发。输入“许可证()” 或 'licence()' 了解分发详情。
自然语言支持,但在英语语言环境中运行
R 是一个有许多贡献者的协作项目。类型 'contributors()' 获取更多信息和 'citation()' 关于如何引用 出版物中的 R 或 R 包。
输入 'demo()' 获得一些演示,输入 'help()' 获得在线帮助,或者 'help.start()' 为 HTML 浏览器界面提供帮助。输入“q()”到 退出R。
sessionInfo() R 版本 3.2.3 (2015-12-10) 平台:x86_64-apple-darwin14.5.0 (64-bit) 运行于:OS X 10.10.5 (优胜美地)
语言环境:[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
附加的基础包:[1] stats graphics grDevices utils
数据集方法库library("aplpack") 加载所需的包:tcltk sessionInfo() R 版本 3.2.3 (2015-12-10) 平台:x86_64-apple-darwin14.5.0 (64-bit) 运行于:OS X 10.10.5 (优胜美地)
语言环境:[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
附加的基础包:[1] tcltk stats graphics grDevices utils 数据集方法 [8] 基础
其他附加包:[1] aplpack_1.3.0
我认为加载 tcltk 的问题会干扰加载 aplpack,并且 R.app/r-gui 中的某些内容不能很好地与 tcltk 配合使用。
【问题讨论】:
-
那么……问题到底是什么?
-
@Donal Fellows,我很抱歉我不够清楚。我不确定这些错误的确切含义,如果有英文翻译会很好。另外,我希望有人能够为我建议一个解决方案/解决方案,以便我能够在 R.app 中运行 tcltk,或者至少为我建议一个开始的地方(超出我已经尝试过的地方)。
-
啊,这个错误意味着一切都搞砸了。您是否拥有您正在使用的 Tcl 和/或 Tk 库的确切版本? (它们通常是一对匹配的。)最近对 OSX 版本的 Tk 进行了很多修复,但不一定将其纳入 Tk 的系统版本。
-
@Donal Fellows,我使用的tcl版本是8.5(补丁级别8.5.9)。