【发布时间】:2012-03-10 07:23:08
【问题描述】:
在 Debian 中,官方存储库中有一些已编译的 R 包。但也可以从源代码安装 R 包。 我很想知道为什么用户更喜欢一种安装方法而不是另一种。
【问题讨论】:
标签: r
在 Debian 中,官方存储库中有一些已编译的 R 包。但也可以从源代码安装 R 包。 我很想知道为什么用户更喜欢一种安装方法而不是另一种。
【问题讨论】:
标签: r
有时最好在您的服务器上“编译”源代码,而不是仅仅使用现有的可执行文件。
这是因为编译器专门为您的机器制作了 exe 文件,因此可以运行得更快并且工作得更好,例如编译器知道您拥有的处理器,因此可以对此进行优化。
【讨论】:
我已经提供了一个比较详细的答案in response to this SO question。
作为一个更新,由于更新了 cran2deb initiaives,这些天你甚至有很多预构建的包:
在 Ubuntu 上,您现在几乎所有 CRAN 软件包都通过 Michael Rutter 在 Launchpad 上的 'cran2deb for ubuntu' ppa 预构建。
对于 Debian,Don Armstrong 现在在 debian-r.debian.net 提供类似的服务(也包括 BioConductor 和 OmegaHat)。
【讨论】:
为 Debian/Ubuntu 预编译 R 包的想法借鉴了 Windows 和 MacOS。这些操作系统具有预编译包,因为它们通常在标准位置没有用于从源代码构建包的标准工具(c 和 fortran 编译器、latex、perl 等)。
如果 CRAN 上有软件包的新版本,Debian repos 上的预编译软件包是否会自动更新?我相信你最好与 CRAN 同步。查看包 ctv 以帮助您管理大量 R 包(“CRAN 视图”),用于安装和更新。
您需要 root 权限才能从 OS 存储库安装预编译的软件包,而任何普通用户都可以在 R 中使用 install.packages() 安装任何软件包(但如果您是系统管理员,我建议运行 sudo R 来安装CRAN 视图,以便使它们在系统范围内可用,而不是夸大你的 ~/)。
源包的一个不便之处在于,如果您获取很多包,编译将花费额外的时间来安装(取决于您的机器)。您可能会从编译中获得性能提升,但不能保证会很明显。
【讨论】: