【发布时间】:2021-02-10 09:30:00
【问题描述】:
当我使用 system("...") 从 RStudio 运行系统命令时,我希望 RStudio 使用特定版本的 Python。
当我打开 RStudio(只需单击 Mac 上的图标)并使用 Sys.setenv(PATH="my_python_path") 设置 PATH 变量时,这会成功。为了使它成为默认变量,我尝试更新我的 ~/.Renviron (使用 PATH=...) 和 ~/.Rprofile (使用 Sys.setenv("...")) 预先挂起 Python 的路径我想用。
更新 .Renviron 和 .Rprofile 中的 PATH 变量会生效,但 RStudio 仍然会在 PATH 变量的前面添加 /usr/local/bin,这会将 R 定向到该目录中的默认系统 Python。我指定的 Python 路径紧随其后,并没有被使用。
有没有办法让 RStudio 遵守我在 .Renviron 或 .Rprofile 中指定的 PATH 顺序?
【问题讨论】:
-
您正在使用的路径非常短。将
my_python_path添加到现有的前面不是更安全,而不是完全清除它吗? -
是的,这就是我在实践中实际所做的。只是没有将其包含在问题中
-
我没有看到您描述的行为。如果我运行
system("printenv PATH"),我会看到与Sys.getenv("PATH")相同的路径。也许您需要升级 RStudio(我使用的是 1.4.1103),或者可能发生了其他事情。 -
是的,这也是我的行为。我的问题源于这样一个事实,即如果我在 ~/.Rprofile 或 ~/.Renviron 文件中指定 PATH,RStudio 会将
/usr/local/bin预置到我的 PATH 中,这使得 RStudio 使用不同的 Python(/usr/local/bin中的那个) ) 从我指定的 -
它似乎与 Mac OS GUI 应用程序有关,默认继承系统默认路径,如这里 apple.stackexchange.com/questions/51677/…