2

我希望arcpy在 R 中使用reticulate.

我尝试在 R 中运行此代码:

library(reticulate)
use_python("C:/Python27/ArcGIS10.4")
arcpy = import("arcpy")

这给了我一个错误:

Error in py_module_import(module, convert = convert) : 
  object 'arcpy' not found

我不完全确定 Python 如何找到它的模块(显然它搜索 PYTHONPATH,但我不知道它是在哪里定义的)。

我确实了解该arcpy库实际上位于不同的文件夹中。做了一些挖掘,我想我找到了,所以我在 R 中尝试了这个:

arcpy = import_from_path("arcpy", path = "C:/Program Files (x86)/ArcGIS/Desktop10.4/ArcPy/arcpy")

但出现以下错误:

Error in py_module_import(module, convert = convert) : 
  ImportError: cannot import name 'gp'

Detailed traceback: 
  File "C:/Program Files (x86)/ArcGIS/Desktop10.4/ArcPy\arcpy\__init__.py", line 22, in <module>
    from arcpy.geoprocessing import gp

所以我不太确定这里发生了什么,但我觉得它与 Python 或reticulate没有在正确的位置寻找正确的文件有关?

4

1 回答 1

2

尝试将完整路径添加Python.exeC:/Python27/ArcGIS10.4. 另外,使用required = TRUE,所以网状知道它必须使用提供的python版本。

如果它直接位于该文件夹中,则

library(reticulate)

use_python("C:/Python27/ArcGIS10.4/Python.exe", required = TRUE)

arcpy <- import("arcpy")
于 2018-05-15T02:04:55.937 回答