我想为我的Reticulate包设置Python的默认发行版。我用,
Sys.setenv(RETICULATE_PYTHON = "/usr/local/bin/python3")
但是,每次启动时我都必须重新输入这行代码。如何永久设置这个代码,所以我不需要每次都指定我需要的Python分发?
答案 0 :(得分:5)
在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在启动时会在R主文件夹中查找定义环境变量的任何.Renviron
文件(请参阅启动文档{ {1}}。
更新29/10/2018
事实证明,用?Startup
定义的变量仅在Rstudio中可用,这并不奇怪,因为.Renviron
文件是在Rstudio启动时读取的。如果您希望环境变量可用于.Renviron
(例如),则可以:
Windows ,使用Rscript
实用程序(在“开始”菜单搜索栏中提供)将其添加到用户环境变量中
Mac ,您可以执行与上述完全相同的过程,但是在Modify environment variables
而不是.bash_profile
上进行。打开终端,然后将自己置于用户根文件夹(通常是终端的默认位置)。添加以下行(等号周围没有空格):
.Rstudio
保存并关闭,重新启动终端。终端在启动时会读取您的
export RETICULATE_PYTHON=/usr/local/bin/python3
,从而定义了环境变量。现在,即使在非交互式R会话中,您的.bash_profile
也应该可用。
答案 1 :(得分:0)
包 usethis
具有打开主文件夹的文件 .Renviron
的功能。
usethis::edit_r_environ()
打开文件后,您只需要添加您的一对 key=value,保存并关闭它。
RETICULATE_PYTHON=/usr/local/bin/python3