R, Python, rpy2 и др c упаковка в Docker - PullRequest
1 голос
/ 12 февраля 2020

Я пытаюсь создать docker образ для выполнения python процесса, который вызывает (с rpy2) пакет dr c из R.

I ' m, используя amazon linux docker и использовать dr c У меня есть следующие строки для установки через conda:

RUN conda install -c r rpy2=2.9.4 --yes
RUN conda install -c conda-forge r-drc=3.0_1 --yes

Со сборкой изображения я вхожу в работающий контейнер с:

docker run -it --entrypoint bash mydockerName

И когда я вхожу в R через R, это выдает мне следующую ошибку:

Error: package or namespace load failed for 'utils':
 .onLoad failed in loadNamespace() for 'utils', details:
  call: system(paste(which, shQuote(names[i])), intern = TRUE, ignore.stderr = TRUE)
  error: error in running command
Error: package or namespace load failed for 'stats':
 .onLoad failed in loadNamespace() for 'utils', details:
  call: system(paste(which, shQuote(names[i])), intern = TRUE, ignore.stderr = TRUE)
  error: error in running command
During startup - Warning messages:
1: package 'utils' in options("defaultPackages") was not found
2: package 'stats' in options("defaultPackages") was not found

У меня есть гуглил последние дни и у меня нет возможных решений ...

Большое спасибо!

Xevi

Ответы [ 2 ]

0 голосов
/ 19 февраля 2020

Я исправил подобную проблему в другом типе контейнера, установив 'which'. Этот пакет часто исключается из среды linux, потому что есть "лучшие" альтернативы. Однако авторы пакетов R часто все еще зависят от «который». Так что подумайте, как установить this в ваш контейнер, и это может решить проблему.

0 голосов
/ 17 февраля 2020

В проекте rpy2 есть изображения, которые могут стать отправной точкой. conda не используется, хотя. https://github.com/rpy2/rpy2-docker

Если необходимо conda, посмотрите на изображения, управляемые проектом jupyter, например.

...