cherrytree
cherrytree

Reputation: 1581

R reticulate specifying python executable to use

First, I'm working on a Windows machine. I would like to specify a specific version of python to use in RStudio. I would like RStudio to use python 3 in the ArcGIS Pro folder in order to have arcpy available, along with the licensed extensions. I have reticulate installed and have tried the following methods to force RStudio to use the ArcGIS Pro version of python.

First I tried this:

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

The resulting error:

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

Following some other tips, I tried setting the environment before loading the reticulate library.

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

Then I retrieve information about the the version of Python currently being used by reticulate.

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

I also tried creating and editing the .Renviron by using the usethis package

usethis::edit_r_environ()

Then entering the following

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

And saving it, restarting R..

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

And, to confirm, here is the location... enter image description here

Any ideas on why I continue to receive invalid 'path' argument

UPDATE (1/11/24): This doesn't seem to be an issue with the reticulate package anymore. My current configuration is R version: 4.3.2, reticulate version: 1.34.0, RStudio version: 2023.12.0, ArcGIS Pro version: 3.2.0.

Upvotes: 1

Views: 1001

Answers (4)

Robert Ritson
Robert Ritson

Reputation: 1

I ran into the same error with R version R-4.1.1, but when I switched back to the previous version R-4.0.5 everything worked as expected. It's a quick workaround but doesn't solve the underlying issue in the current version.

Upvotes: 0

user18854201
user18854201

Reputation: 36

I was having a similar issue. After trying a whole assortment of things, I finally installed an archived version of reticulate (reticulate_1.22) instead of using the most up-to-date version (reticulate_1.23) and now the issue is gone. It appears that this bug has been brought to the developers' attention (https://github.com/rstudio/reticulate/issues/1189).

Upvotes: 2

GWD
GWD

Reputation: 1464

Have you tried replacing Program Files with PROGRA~1 and have you maybe also checked for example a command like dir("path/to/your/env") although tbh your screenshot looks ok;

btw just in case - after editing your .Renviron file you need to restart your RStudio/R session for changes to take effect; RStudio version 2022.02 has Python interpreter selection now available in Global Options enter image description here

Upvotes: 2

Guest007
Guest007

Reputation: 21

Try using

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

Upvotes: 0

Related Questions