Конда - Как установить пакеты R, которые не доступны в "R-Essentials"?
Я использую готовую установку Anaconda для работы с Python. Теперь я прочитал, что в эту установку можно также "включить" мир R и использовать ядро IR в записной книжке Jupyter/Ipython.
Я нашел команду для установки ряда известных пакетов R: conda install -c r r-essentials
Вопрос моего новичка:
Как мне установить пакеты R, которые не включены в пакет R-essential? Например R пакеты, которые доступны на CRAN. "pip" работает только для пакетов PyPI Python, не так ли?
12 ответов
Теперь я нашел документацию:
Это документация, которая объясняет, как генерировать пакеты R, которые доступны только в репозитории CRAN: https://www.continuum.io/content/conda-data-science
Перейдите в раздел "Сборка пакета conda R".
(Подсказка: пока пакет R доступен на anaconda.org, используйте этот ресурс. См. Здесь: https://www.continuum.io/blog/developer/jupyter-and-conda-r).
Ответ alistaire- еще одна возможность добавить пакеты R:
Если вы устанавливаете пакеты изнутри R через обычный install.packages
(от зеркал CRAN), или devtools::install_github
(от GitHub), они работают нормально. @alistaire
Как это сделать: Откройте вашу (независимую) установку R, затем выполните следующую команду:
install.packages("png", "/home/user/anaconda3/lib/R/library")
добавить новый пакет в правильную библиотеку R, используемую Jupyter, в противном случае пакет будет установлен в /home/user/R/i686-pc-linux-gnu-library/3.2/png/libs, упомянутых в .libPaths ().
Чтобы установить другие пакеты R на Jupyter помимо R-Essentials
install.packages('readr', repos='http://cran.us.r-project.org')
Одна проблема заключается в том, что конкретный репозиторий является US.R-Project
(как показано ниже). Я пробовал другие, и это не сработало.
NB Заменить readr
с любым желаемым именем пакета для установки.
Вот конда-центричный ответ. Он основан на ответе Фрэнка и сайте континуума: https://www.continuum.io/content/conda-data-science с более подробной информацией.
Некоторые пакеты, недоступные в r-essentials, по-прежнему доступны на каналах conda, в этом случае все просто:
conda config --add channels r
conda install r-readxl
Если вам нужно собрать пакет и установить его с помощью conda:
conda skeleton cran r-xgboost
conda build r-xgboost
conda install --use-local r-xgboost
эта последняя строка отсутствует на сайте континуума, потому что они предполагают, что она будет сначала опубликована в репозитории anaconda. Без этого ничего не будет помещено в каталог envs /, и пакет не будет доступен для командной строки R или Jupyter.
На Mac я считаю важным установить компилятор Clang для сборки пакетов:
conda install clangxx_oxs-64
Я нашел легкий обходной путь. Я полагаю, что у вас есть RStudio IDE для вас R. Это странно использовать RStudio для этого, но я попробовал прямо с R в моем терминале, и это не сработало. Итак, в консоли RStudio просто добавьте путь к каталогу anaconda (в OSX, "/Users/ имя_руза здесь /anaconda/lib/R/library")
Так, например,
install.packages('package','/Users/yourusernamehere/anaconda/lib/R/library')
Мне стыдно публиковать такой необычный ответ, но это единственный, который сработал для меня.
Используйте кузницу Конда
Через пять лет после исходного вопроса я бы сказал, что более современным решением было бы просто: использовать Conda Forge. Канал Conda Forge не только обеспечивает более широкий охват CRAN, но также имеет простую процедуру и большое время обработки (обычно менее 24 часов) для добавления отсутствующего пакета CRAN в канал.
Начните с кузницы Конда
Я бы рекомендовал использовать Conda Forge для полного стека и использовать выделенную среду для каждой требуемой версии R.
conda create -n r41 -c conda-forge r-base=4.1 r-irkernel ...
куда
...
любые дополнительные пакеты, которые вам нужны (например,
r-tidyverse
).
r-irkernel
package является необязательным, но включен сюда, потому что OP упоминает использование R в Jupyter.
Если ваша среда с Jupyter (которая должна быть в отдельной среде) также имеетnb_conda_kernels
установлено, то Jupyter автоматически обнаружит эту среду.
Установить из Conda Forge
Как правило, все пакеты R в CRAN имеют
r-
префикс имени пакета в Conda Forge. Итак, если вас интересует пакет
pkgname
, первая попытка
conda install -n r41 -c conda-forge r-pkgname
Если пакет недоступен, перейдите либо к его добавлению, либо к запросу.
Отправка пакета CRAN с помощью Conda R Skeleton Helper
Существует полезная коллекция скриптов под названием conda_r_skeleton_helper для создания новых рецептов Conda Forge для пакетов CRAN. В README есть четкие указания .
В общих чертах будет
- клонировать
conda_r_skeleton_helper
хранилище - редактировать
packages.txt
файл для включенияr-pkgname
- запустить скрипт для генерации рецепта
- разветвить и клонировать
conda-forge/staged-recipes
- скопируйте новую папку рецепта в
stage-recipes/recipes
папка - зафиксируйте изменения, нажмите на форк, затем отправьте запрос на слияние обратно в Conda Forge.
Это занимает около 15 минут работы. После отправки большинству пакетов требуется менее 24 часов, чтобы быть принятыми, загруженными и развернутыми на канале Conda Forge. Как только исходный материал запущен и запущен, инфраструктура Conda Forge использует бота для автоматического обнаружения обновлений версий, создания новых запросов на вытягивание и даже автоматического слияния успешно построенных запросов на слияние. То есть у сопровождающих очень минимальная рабочая нагрузка, и если есть проблемы, команда готова помочь.
Отправить запрос пакета
Для пользователей, которым неудобно создавать и поддерживать сборку Conda Forge, пакеты можно запросить на сайте Conda Forge.
staged-recipes
репозиторий, подав новый Issue. Существует шаблон для запроса пакета, который включает в себя некоторые информационные поля, которые необходимо заполнить.
Чтобы установить пакет CRAN из командной строки:
R --slave -e "install.packages('missing-package', repos='http://cran.us.r-project.org')"
Добавим его сюда, чтобы другие новички, уже работающие с ноутбуками Jupyter с Python и заинтересованные в использовании его с R: дополнительные пакеты, доступные для Anaconda, могут быть установлены через терминал с помощью той же команды, которая использовалась для установки необходимых пакетов.
Установите r-основы
conda install -c r r-essentials
Установите микробенчмарк (инфраструктура для точного измерения и сравнения времени выполнения выражений R)
conda install -c r r-microbenchmark
У меня была проблема при попытке установить пакет из github с помощью install_github("user/package")
в Конде с р-основы. Ошибки были множественными и не описательными.
Был в состоянии решить проблему, используя эти шаги:
- скачать и распаковать пакет локально
- активировать правильную среду conda (если требуется)
- запустить R из командной строки
library(devtools)
install('/path/to/unzipped-package')
- Командование не удалось из-за отсутствия зависимости, но теперь я знаю, чего не хватает!
- бежать
install.packages('missing-package', repos='http://cran.us.r-project.org')
для всех зависимостей - бежать
install('/path/to/unzipped-package')
снова. Теперь это должно работать!
Установите rpy2 с conda и добавьте следующую строку в свой блокнот Jupyter.
%load_ext rpy2.ipython
В следующих чанках вы можете просто запустить любой код r, указав%R
Ниже приведен мой любимый способ установки и / или загрузки пакета r
%R if (!require("pacman")) install.packages("pacman")
%R pacman::p_load(dplyr, data.table, package3, package4)
Аргумент p_load установит + загрузит пакет, если его нет в вашей библиотеке, иначе он просто загрузит его.
Кто-то предложил не очень элегантный способ обойти это, но что изящно, пока оно работает.
install.packages ('пакет', '/Users/yourusernamehere/ Анаконда / Lib/R/ библиотека')
Я провел почти все утро в поисках ответа на эту проблему. Мне удалось установить библиотеки на RStudio, но не на Jupyter Notebook (они имеют разные версии R). Вышеуказанное решение "почти" сработало, просто я обнаружил, что Jupyter Notebook пытается установить в другой каталог, и он будет сообщите какой каталог. Таким образом, я только изменил это, и это работало как очарование... благодаря Dninhos
Что сработало для меня, так это
install.packages("package_name", type="binary")
. Ни один из других ответов не сработал.
Я попытался установить R-пакеты ggplot2, tidyverse и т. Д., Используя стандартные репозитории CRAN командной строки, и столкнулся с многочисленными проблемами и проблемами.
Все, от неиспользуемых файлов init.tcl до строки из пятнадцати символов ошибок. Я был в состоянии использовать установку Conda и сайт WWW.Anaconda.org для деталей. Это установило пакеты R в архитектуре каталогов Anaconda, которые выполнялись в R в терминале, среде RStudio и R в ноутбуках Jupyter навигатора Anaconda.
например: conda install -c r r-tidyverse
Очень легко и сработало с первого раза.
[На Kubuntu 17.04 с Anaconda Navigator 1.6.2; Версия R 3.3.2 (2016-10-31)]