Rstudio 中的源 .bashrc
Posted
技术标签:
【中文标题】Rstudio 中的源 .bashrc【英文标题】:Source .bashrc in Rstudio 【发布时间】:2018-10-10 21:25:52 【问题描述】:我刚刚在 Ubuntu 18.04 LTS 本地安装了一些 Perl 模块。
当像这样使用 RStudio 服务器调用它们时
system("perl -MBio::TreeIO -e 1")
我收到以下错误
在@INC 中找不到 Bio/TreeIO.pm(您可能需要安装 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")
但不好。
【问题讨论】:
听起来您用来安装模块的 perl 与 RStudio 用来运行命令的 perl 不同。.bashrc
中有什么东西会改变PATH
的内容吗?
是的! .bashrc 包含 `PATH="/home/acjfernandes/perl5/bin$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="--install_base \"/home/acjfernandes/perl5\"";导出 PERL_MB_OPT; PERL_MM_OPT="INSTALL_BASE=/home/acjfernandes/perl5";导出 PERL_MM_OPT;
好的,那么你需要说服RStudio使用相同的perl,或者你需要在RStudio使用的那个中安装你需要的模块。
怎么样?通过在系统范围内安装而不是在本地安装?
我对 R 或您的系统是如何设置的一无所知。如果你安装了你需要的模块没有首先运行.bashrc
,那么你应该使用与RStudio相同的perl。这将是一个好的开始。
【参考方案1】:
根据在 R shell 中运行help(Startup)
访问的文档,您应该在主目录中创建一个文件.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 包安装目录。
【讨论】:
以上是关于Rstudio 中的源 .bashrc的主要内容,如果未能解决你的问题,请参考以下文章
r [连接到Rstudio中的SQLite数据库] #R #SQLite #RStudio