用网状进口arcpy

时间:2018-04-17 18:45:37

标签: python r arcpy reticulate

我希望使用public function sendMultiple($registration_ids, $message) { $fields = array( 'registration_ids' => $registration_ids, 'data' => $message, 'notification' => $message, 'priority'=>'high', ); return $this->sendPushNotification($fields); } 导入R中的arcpy库。

我尝试在R:

中运行此代码
reticulate

这给了我一个错误:

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

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

我确实理解Error in py_module_import(module, convert = convert) : object 'arcpy' not found 库实际上位于不同的文件夹中。做了一些挖掘,我想我发现了,所以我在R中尝试了这个:

arcpy

但是出现了以下错误:

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

所以我不太清楚这里发生了什么,但我得到的印象是它与Python或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 没有找到合适的位置以获取正确的文件?

1 个答案:

答案 0 :(得分:1)

尝试在Python.exe中添加C:/Python27/ArcGIS10.4文件的完整路径。另外,使用required = TRUE,所以网格知道它必须使用提供的python版本。

如果它直接驻留在该文件夹中,则

library(reticulate)

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

arcpy <- import("arcpy")