Перезагрузить пользовательский пакет R из источника
Я создал пользовательский пакет и хотел бы развернуть его на удаленной машине. Вот мой текущий длинный рабочий процесс:
- Создайте собственный пакет my_package_0.1.0.tar.gz
- пакет scp на удаленную машину
- создать удаленный сеанс
install.packages("/path/to/my_package0.1.0.tar.gz")
library('my_package')
Когда другие подключаются к компьютеру, они должны запустить install и library:
install.packages("/path/to/my_package0.1.0.tar.gz")
library('my_package')
Есть ли способ, которым я могу поделиться пользовательским пакетом и иметь рабочий процесс быть:
- Создать удаленный сеанс
- Загрузить пакет с
library('my_package')
1 ответ
В комментариях к комментариям говорится, что рекомендуется устанавливать пакет в общем месте.
Вот как вы можете найти хорошее место для установки пакетов.
Запуск следующего показывает, откуда загружаются библиотеки
.libPaths()
# rserve2 rserve2 /opt/deployr/9.0.1/rserve/R
#root root /usr/lib64/microsoft-r/3.3/lib64/R/library
Сервер R ищет библиотеки в двух местах. Один из них принадлежит пользователю root, поэтому мы не должны его здесь развертывать. Другое местоположение rserve2 имеет право собственности и выглядит многообещающе. Мы должны создать library
подпапка для хранения общих пакетов.
Основываясь на этой информации, рабочий процесс должен быть:
- Создайте собственный пакет my_package_0.1.0.tar.gz
- пакет scp на удаленную машину
- создать удаленный сеанс
- install.packages ("/ path / to / my_package0.1.0.tar.gz", lib = '/ opt / deployr / 9.0.1 / rserve / R / library /')
- библиотека ('my_package')
Когда другие подключаются к машине, они могут загрузить общую библиотеку:
- библиотека ('my_package')