在Windows上,如评论中Brian Davis所建议的,使用
Sys.getenv('R_USER')
来知道您的主文件夹的位置。 在Linux上,
Sys.getenv('HOME')
应该是您正常使用的主文件夹。
现在打开终端(如果您使用的是最近版本的Rstudio,则在控制台旁边有一个终端),进入您的主文件夹并添加
.Renviron
文件。 您也可以不使用终端来完成此操作,但是您可能需要确认以点开头的文件的创建。
cd path_to_my_home_Folder
touch .Renviron
将RETICULATE_PYTHON = /usr/local/bin/python3
添加到其中,并在末尾添加一行。如果文件是新的,则应该如下所示:
> RETICULATE_PYTHON = /usr/local/bin/python3
现在,你应该能够在每个R会话中使用 Sys.getenv('RETICULATE_PYTHON')
来访问你的环境变量,因为R在启动时会查找定义环境变量的任何.Renviron
文件位于R主目录下(请参见文档startup?Startup
)。
更新 29/10/2018
事实证明,使用.Renviron
定义的变量仅在Rstudio内可用,这并不奇怪,因为.Renviron
文件在Rstudio启动时被读取。如果您希望环境变量对于Rscript
(例如)可用,则可以:
Windows: 将其添加到用户环境变量中,使用“修改环境变量”实用程序(可在开始菜单搜索栏中找到)
Mac: 您可以使用与上述完全相同的过程,但将其应用于您的.bash_profile
而不是.Rstudio
。打开终端并将自己放置在用户根文件夹(通常是终端的默认位置)。添加以下行(等号周围不要有空格):
export RETICULATE_PYTHON=/usr/local/bin/python3
保存并关闭,重新启动终端。终端在启动时会读取您的.bash_profile
文件,从而定义环境变量。现在您的RETICULATE_PYTHON
应该即使在非交互式R会话中也可用。
.Rprofile
应该位于这里:Sys.getenv("R_USER")
。 - Brian Davis.Rprofile
的文件并将其放在您的工作目录中。在文件中添加以下行:.First <- function() cat("\014\ntesting\ntesting")
。如果您的R配置文件正在加载,它将在启动时向控制台打印“testing testing”。如果这不起作用,那么Google就是您的好朋友。 - Brian DavisR_HOME
吗?我认为R_USER
是针对 Windows 特定的。 - James Hirschorn