使用C#调用arcpy脚本,no module named arcgisscripting 问题解决
使用IronPython调用python脚本没有问题,如果报 “no module named xxxx” 相关问题,添加path路径即可解决,具体网上很多解决方案。
但是如果调用arcpy脚本,由于arcpy有引用.pyd文件的原因,会报module named arcgisscripting的问题。原因是IronPython无法解析arcgisscripting.pyd这个文件,根本原因是不支持.pyd结尾的任何文件。所以使用Process调用py脚本解决。
Process p = new Process();
string path = "D:\\arcpy测试\\arcpyTest2\\publistService.py";
string sArguments = path;
p.StartInfo.FileName = @"C:\\Python27\\ArcGIS10.2\\python.exe";
p.StartInfo.Arguments = sArguments;//python命令的参数
p.StartInfo.UseShellExecute = false;
//p.StartInfo.RedirectStandardOutput = true;
//p.StartInfo.RedirectStandardInput = true;
//p.StartInfo.RedirectStandardError = true;
//p.StartInfo.CreateNoWindow = true;
p.Start();

当使用IronPython调用包含arcpy的Python脚本时,由于IronPython不支持.pyd文件,会出现'no module named arcgisscripting'错误。为解决此问题,可以采用Process调用Python脚本来执行arcpy任务。
3352

被折叠的 条评论
为什么被折叠?



