169 похожих чатов

Коллеги, вопрос убунтоводам: renv.lock файл у меня на версию 4.1.2,

обновила систему, установился по дефолту 4.2.0, ренв при Ресторе ругается что неверная версия р; есть ли какой-то простой тул способ типа pyenv для того чтобы контролировать версию R? Самое простое - использовать конду, конечно, но хочется что-то более прозрачное для такой нехитрой задачи; и вдогонку вопрос: есть ли способ распараллеливания установки пакетов через renv::restore() ибо при сборке докеровского контейнера очень печально ждать по часу пока скачаются и установятся большие биокондукторовские пакеты;

12 ответов

16 просмотров

Похоже, что стоит поглядеть сюда: https://tuxette.nathalievialaneix.eu/2021/02/multiple-versions-of-R.html

насчет докера: если вы образ пересобираете раз в полгода при выходе новой версии R, то часок можно и подождать? Я использовал пакет pak для обычных крановских пакетов. Он как минимум умеет распараллеливать скачивание пакетов. Если же вы по какой-то причине регулярно пересобираете докеры (н-р у вас в одном docker-compose несколько сервисов), то можно либо выборочно обновлять, либо использовать стейджинговые образы. В таком промежуточном образе один раз устанавливаются все пакеты и потом рабочие папки можно скопировать в основной образ каждый раз, когда он пересобирается

Alina- Автор вопроса
Ed P
насчет докера: если вы образ пересобираете раз в п...

На гитхабе, к сожалению, образы пересобираются полностью для интеграционных тестов достаточно часто и это немножко грустно выходит; к слову, может быть кто-то знает ресурсы/книги/курсы/ людей которые научат-подскажут по использованию Р в продакшене? Скорее всего вы скажете что нужен хороший девопс, но девопсов которые знают и умеют в р почти не существует и хотелось это как-то компенсировать

Alina
На гитхабе, к сожалению, образы пересобираются пол...

А зачем Вам это все? Почему не иметь одну актуальную версию без ренв?

Alina
На гитхабе, к сожалению, образы пересобираются пол...

а что вам нужно тестировать? Если вы какой-то свой софт тестируете и возможности платформы ограничены - то м.б. переехать на другую? В том же DigitalOcean вполне можно сделать стейджинговые образы с R и пакетами, которые можно обновлять только время от времени

Alina
На гитхабе, к сожалению, образы пересобираются пол...

Потому как прод в одну голову тащить невозможно. Для себя фризы аппликух можно докерами делать

Ilya Shutov
А зачем Вам это все? Почему не иметь одну актуальн...

Как всегда, какой истинный вопрос хотите решить?

Alina- Автор вопроса
Ilya Shutov
Как всегда, какой истинный вопрос хотите решить?

Именно такой как задала) есть проект где р часть вспомогательная и обновляется, условно, раз в неделю; но другие части, пусть будет js, обновляются каждый день и для каждого пулл-реквеста на гитхабе коих может быть много даже у одного разработчика (ибо git flow) ждать по часу пока пересоберется р часть ибо интеграционные тесты и все должно пересобираться = боль и хотелось ее уменьшить; но реквест на материалы по девопс делу с Р оставлю открытым; если кто-то мастер в решении подобных задач, то возможно посотрудничать;

Alina
Именно такой как задала) есть проект где р часть в...

А, это у вас CI/CD такой, и гитхаб там у себя для тестов образ по 2 часа собирает? А вы не можете собрать образ с R и пакетами где-то в другом месте и потом в своём скрипте вместо установки пакетов копировать их в образ? Ну допустим, на S3 бакете держать архив с папкой с установленными пакетами и потом её просто разархивировать в новый образ после уановки R? Сам то R быстро ставится обычно

Alina- Автор вопроса
Ed P
А, это у вас CI/CD такой, и гитхаб там у себя для ...

Думала о чем-то подобном, видимо только такой вариант; спасибо

Alina
Именно такой как задала) есть проект где р часть в...

Это разговор, который не тянет на беседу в чате. Реально непонятно что происходит. От архитектуры продукта будет все сильно зависеть. В таких случаях обычно отливается все в докер и фризится. И вообще ничего не собирается. Есть просто готовый докер.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта