arcengien10.1 解决dotnet-gp 和arcgispro-py脚本共用问题

作者在使用arcGISPro10.1与Python3.0时遇到DLL加载失败问题,发现是由于X86和X64类库兼容性引起的。通过检查系统环境变量,发现工程相关的Python类库导致问题,删除后成功运行。
摘要由CSDN通过智能技术生成


最近在尝试在arcengine10.1+python3 调用arcgispro工具箱快速稳定的计算能力,本以为挺容易,结果花费小半天的时间才解决,想记录一下。

平时会使用arcengine通过进程方式调用desktop下的arcpy,这样比arcengine直接调用gp工具运行稳定,因为都是基于python2.7和32位运行环境,平时混着用工具也可正常运行。

切换到arcgispro, 通过进程正常调用脚本本来也挺正常,但由于之前的业务代码会存在先用arcengine 的gp工具处理数据的前置 操作,导致后面进程调用arcgispro脚本会存在如下问题:
在这里插入图片描述

File “C:\Users\Administrator\Desktop\testprocesspython\testprocesspython\bin\Debug\Intersect_analysis.py”, line 10, in
import arcpy
File “C:\Program Files\ArcGIS\Pro\Resources\ArcPy\arcpy_init_.py”, line 77, in
from arcpy.geoprocessing import gp
File “C:\Program Files\ArcGIS\Pro\Resources\ArcPy\arcpy\geoprocessing_init_.py”, line 14, in
from ._base import *
File “C:\Program Files\ArcGIS\Pro\Resources\ArcPy\arcpy\geoprocessing_base.py”, line 14, in
import arcgisscripting
ImportError: DLL load failed while importing arcgisscripting: %1 不是有效的 Win32 应用程序。

看着像是X86 和X64类库不兼容问题,但如果跳过执行arncnegin的gp后直接运行pro脚本又能正常跑,挠了会头,挠啊挠挠挠挠。。。。。
想了想,是不是加载模块有问题,于是把两种情况下sys系统环境下的默认加载模块路径打印出来对比了下差异

在这里插入图片描述

嗯,果然如此,无法正常运行的python脚本系统变量多了engine相关的python类库,试试在运行时把它删掉,删掉后果然可以跑了
在这里插入图片描述

嗯,虽然不是很优雅,但解决问题了,后续碰到问题再想办法解决吧,记录一下,挠挠头。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值