R中reticulate包无法运行:笔记本导入arcpy失败求助
R中reticulate调用arcpy笔记本报错排查方案
问题背景
相同代码在台式机正常运行,笔记本通过R的reticulate包调用py_run_string导入arcpy(Python 3.9版本)时出现报错,错误涉及python_config_impl执行失败及$ operator is invalid for atomic vectors。
运行代码
install.packages("reticulate") library(reticulate) reticulate::conda_list() py_run_string("import arcpy")
报错信息
Error in python_config_impl(python) : Error 103 occurred running C:/Users/sadia/Scripts/python.exe: In addition: Warning message: In system2(command = python, args = shQuote(script), stdout = TRUE, : running command '"C:/Users/sadia/Scripts/python.exe" "C:/Users/sadia/AppData/Local/R/win-library/4.2/reticulate/config/config.py"' had status 103 Error in python_config_impl(python) : Error 103 occurred running C:/Users/sadia/OneDrive/Documents/.virtualenvs/r-reticulate/Scripts/python.exe: In addition: Warning message: In system2(command = python, args = shQuote(script), stdout = TRUE, : running command '"C:/Users/sadia/OneDrive/Documents/.virtualenvs/r-reticulate/Scripts/python.exe" "C:/Users/sadia/AppData/Local/R/win-library/4.2/reticulate/config/config.py"' had status 103 Error in python_config_impl(python) : Error 103 occurred running C:/Users/sadia/Scripts/python.exe: In addition: Warning messages: 1: In FUN(X[[i]], ...) : running command '"C:\Users\sadia\Scripts\python.exe" -c "import sys; print(sys.platform)"' had status 103 2: In system2(command = python, args = shQuote(script), stdout = TRUE, : running command '"C:/Users/sadia/Scripts/python.exe" "C:/Users/sadia/AppData/Local/R/win-library/4.2/reticulate/config/config.py"' had status 103 Error in python_config_impl(python) : Error 103 occurred running C:/Users/sadia/Scripts/python.exe: In addition: Warning message: In system2(command = python, args = shQuote(script), stdout = TRUE, : running command '"C:/Users/sadia/Scripts/python.exe" "C:/Users/sadia/AppData/Local/R/win-library/4.2/reticulate/config/config.py"' had status 103 Error in py_run_string_impl(code, local, convert) : Evaluation error: $ operator is invalid for atomic vectors.
排查步骤及解决方案
- 检查Python环境权限:报错路径涉及OneDrive和用户目录,可能存在权限不足或文件锁定。右键以管理员身份启动R/RStudio,重新执行代码。
- 手动指定arcpy所在Python环境:reticulate自动检测的环境可能未关联arcpy,直接指定正确路径:
library(reticulate) # 替换为你安装arcpy的Python.exe路径 use_python("C:/Program Files/ArcGIS/Pro/bin/Python/envs/arcgispro-py3/python.exe", required = TRUE) py_run_string("import arcpy") - 验证Python环境本身的arcpy可用性:打开对应Python终端,输入
import arcpy测试是否能正常导入,排除arcpy安装或环境变量配置问题。 - 避开含空格/特殊字符的路径:OneDrive路径包含空格,可能导致解析错误。将虚拟环境迁移到无空格的目录,或使用不含空格的Python环境路径。
- 更新reticulate并检查版本兼容性:执行
update.packages("reticulate")更新包,确认R版本(当前为4.2)与Python 3.9的兼容性,避免版本适配问题。
内容的提问来源于stack exchange,提问作者It's lighthouse
相关产品推荐
相关产品推荐

