Исходный код .bashrc в Rstudio

Я только что установил несколько модулей Perl локально в Ubuntu 18.04 LTS.

При вызове их с помощью RStudio Server, как это

system("perl -MBio::TreeIO -e 1")

Я получаю следующую ошибку

Не удается найти Bio / TreeIO.pm в @INC (возможно, потребуется установить модуль Bio :: TreeIO) (@INC содержит: / etc / perl /usr/local/lib/x86_64-linux-gnu/perl/5.26 .1 /usr/local/share/perl/5.26.1 /usr/lib/x86_64-linux-gnu/perl5/5.26 / usr / share / perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 / usr /share/perl/5.26 / usr / local / lib / site_perl / usr / lib / x86_64-linux-gnu / perl-base)

Когда я source ~/.bashrc в терминале, все ок.

Я попытался создать ~/.Rprofile, содержащий:

system(". ~/.bashrc")

но ничего хорошего.


person anajacintafernandes    schedule 30.04.2018    source источник
comment
Похоже, что perl, который вы использовали для установки модулей, отличается от того, который RStudio использует для запуска команды. Есть ли в .bashrc что-нибудь, что изменяет содержимое PATH?   -  person Borodin    schedule 30.04.2018
comment
да! .bashrc содержит `PATH = / home / acjfernandes / perl5 / bin $ {PATH: +: $ {PATH}}; экспорт PATH; PERL5LIB = / home / acjfernandes / perl5 / lib / perl5 $ {PERL5LIB: +: $ {PERL5LIB}}; экспорт PERL5LIB; PERL_LOCAL_LIB_ROOT = / home / acjfernandes / perl5 $ {PERL_LOCAL_LIB_ROOT: +: $ {PERL_LOCAL_LIB_ROOT}}; экспорт PERL_LOCAL_LIB_ROOT; PERL_MB_OPT = - база_установки \ / home / acjfernandes / perl5 \; экспорт PERL_MB_OPT; PERL_MM_OPT = INSTALL_BASE = / home / acjfernandes / perl5; экспорт PERL_MM_OPT;   -  person anajacintafernandes    schedule 30.04.2018
comment
Хорошо, тогда вам нужно убедить RStudio использовать тот же perl, или вам нужно установить необходимые модули в тот, который использует RStudio.   -  person Borodin    schedule 30.04.2018
comment
Как так? установив его в масштабе всей системы, а не локально?   -  person anajacintafernandes    schedule 30.04.2018
comment
Я ничего не знаю ни о R, ни о том, как настроена ваша система. Если вы устанавливаете необходимые модули без первого запуска .bashrc, тогда вам следует использовать тот же perl, что и RStudio. Это будет хорошее начало.   -  person Borodin    schedule 30.04.2018
comment
Попробуйте указать путь к месту установки perl: system (/ your / path / to / perl -MBio :: TreeIO -e 1)   -  person Katia    schedule 01.05.2018


Ответы (1)


Согласно документации, доступ к которой можно получить, запустив help(Startup) в оболочке R, вы должны создать файл .Renviron в своем домашнем каталоге, который будет прочитан при запуске нового сеанса R. Например:

.Renviron

FOOBAR=/foo/bar/foo/bar

Оболочка R

R
R version 3.2.3 (2015-12-10) -- "Wooden Christmas-Tree"
Copyright (C) 2015 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
...

> cat(Sys.getenv("FOOBAR"), "\n")
/foo/bar/foo/bar 

Так что просто создайте свой .Renviron файл с переменной PERL5LIB, установленной в ваш локальный каталог установки пакета perl.

person xxfelixxx    schedule 01.05.2018