R: APT-Get Установите R-CRAN-FOO VS. УСТАНОВИТЬ. Packages («Foo»)

StackOverflow https://stackoverflow.com/questions/2170043

  •  24-09-2019
  •  | 
  •  

Вопрос

При установке R пакетов (скажите mcmcpack В этом примере) под Ubuntu у меня есть выбор между следующими двумя методами установки:

# Let the distribution's packaging system take care of installation/upgrades
apt-get install r-cran-mcmcpack

# Let R take care of installation/upgrades
install.packages("mcmcpack")

Вопросы:

  • Кто-нибудь из двух способов установки по пакетам R, рассмотренных «лучшая практика»?
  • Предположим, что я сначала install.packages("mcmcpack") и позже apt-get install r-cran-mcmcpack - Должен ли я ожидать неприятностей?
  • Предположим, что я сначала apt-get install r-cran-mcmcpack и позже install.packages("mcmcpack") - Должен ли я ожидать неприятностей?
Это было полезно?

Решение

Это не так просто, как кажется.

  • apt-get update это хорошо, если и когда

    • существуют пакеты - но есть только около 150 или около того r-cran-* Пакеты из бассейна 2100+ пакетов на Cran, так что довольно редкое охват

    • Пакеты поддерживаются, ошибка бесплатно и текущий

    • Вы достаточно счастливы с двугородными релизами Ubuntu

  • install.packages() и позже update.packages() это хорошо, если и когда

    • Вы знаете, что требуется, чтобы иметь встроенные зависимости (кроме r-base-dev) установлены

    • Вы не против бега update.packages() вручную, а также apt-get обновления.

На моей машине Ubuntu на работе я иду со вторым решением. Но потому что первый лучше Если у вас достаточно покрытия, мы построили Cran2Deb. Это обеспечивает 2050+ бинарных пакетов DEB для AMD64 и I386 - но только для тестирования Debian. Это то, что я использую дома.

Что касается последнего вопроса о том, вы должны ожидать неприятностей: нет, потому что R_LIBS_SITE устанавливается в /etc/R/Renvironment быть

# edd Apr 2003  Allow local install in /usr/local, also add a directory for
#               Debian packaged CRAN packages, and finally the default dir 
# edd Jul 2007  Now use R_LIBS_SITE, not R_LIBS
R_LIBS_SITE=${R_LIBS_SITE-'/usr/local/lib/R/site-library:\
/usr/lib/R/site-library:/usr/lib/R/library'}

Который означает, что твой пакеты войдут /usr/local/lib/R/site-library тогда как те, которые управляли apt войти в /usr/lib/R/site-library и (в случае базовых пакетов) /usr/lib/R/library.

Надеюсь, что проясняет вопросы. Список рассылки R-SIG-Debian - это более информированное место для таких вопросов.

Другие советы

  • Я бы рассмотрел с использованием apt-get Лучшая практика, поскольку вы получите автоматические обновления через стандартные системные инструменты.

  • Установленные 2 версиях могут привести вас к запутанным ситуациям: в зависимости от установки R, вы можете загрузить другую версию пакета, а затем вы ожидаете - ваш личный (возможно, устаревший) должен вообще быть вообще загружен первым.

  • Увидеть выше.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top