R 网状指定要使用的 python 可执行文件

R reticulate specifying python executable to use

首先,我正在 Windows 机器上工作。我想指定要在 RStudio 中使用的 python 的特定版本。我希望 RStudio 在 ArcGIS Pro 文件夹中使用 python 3,以便 arcpy 可用,以及许可的扩展。我已经安装了 reticulate 并尝试了以下方法来强制 RStudio 使用 ArcGIS Pro 版本的 python。

首先我尝试了这个:

library(reticulate)
use_python("C:/Program Files/ArcGIS/Pro/bin/Python/envs/arcgispro-py3/python.exe", required = TRUE)

产生的错误:

Error in path.expand(path) : invalid 'path' argument

根据其他一些提示,我尝试在加载网状库之前设置环境。

Sys.setenv(RETICULATE_PYTHON = "c:/Program Files/ArcGIS/Pro/bin/Python/envs/arcgispro-py3/python.exe")
library(reticulate)

然后我检索有关 reticulate 当前使用的 Python 版本的信息。

py_config
Error in path.expand(path) : invalid 'path' argument

我还尝试使用 usethis

创建和编辑 .Renviron
usethis::edit_r_environ()

然后输入以下内容

RETICULATE_PYTHON="C:/Program Files/ArcGIS/Pro/bin/Python/envs/arcgispro-py3/python.exe"

并保存,重新启动 R..

library (reticulate)
py_config()
Error in path.expand(path) : invalid 'path' argument

而且,确认一下,这里是位置...

为什么我继续收到任何想法invalid 'path' argument

尝试使用

use_python("C:/Program Files/ArcGIS/Pro/bin/Python/envs/arcgispro-py3")

您是否尝试过将 Program Files 替换为 PROGRA~1 并且您是否也检查过 dir("path/to/your/env") 之类的命令,尽管您的屏幕截图看起来不错;

顺便说一句,以防万一 - 在编辑 .Renviron 文件后,您需要重新启动 RStudio/R 会话才能使更改生效; RStudio 版本 2022.02 有 Python interpreter 选项现在可以在 Global Options 中使用

我遇到了类似的问题。在尝试了各种各样的事情之后,我终于安装了网纹 (reticulate_1.22) 的存档版本,而不是使用最 up-to-date 版本 (reticulate_1.23),现在的问题是走了。看来此错误已引起开发人员的注意 (https://github.com/rstudio/reticulate/issues/1189)。

我 运行 遇到与 R 版本 R-4.1.1 相同的错误,但是当我切换回以前的版本 R-4.0.5 时,一切都按预期工作。这是一个快速解决方法,但不能解决当前版本中的根本问题。