arcgis python脚本代码怎么集成到flask web 项目中

我在做一个自动发布地图服务的功能,想通web端来调用,写的python脚本代码在通过cmd调用python脚本能够顺利执行完成,但是我把相同的代码写在flask web项目中时运行就出错了,代码和错误信息如下:
cmd调用的python脚本:
    import arcpy
try:
print arcpy.env.workspace
arcpy.MakeQueryLayer_management( r'Database Connections\SDE.sde',"COUNTY",'select * from SDE.COUNTY')
print arcpy.GetMessage();
except Exception,e:
print e
flask web 项目中的python脚本:
@app.route('/')
def hello():
try:
arcpy.MakeQueryLayer_management(r'Database Connections\SDE.sde',
"COUNTY",
'select * from SDE.COUNTY')
print arcpy.GetMessage()
except Exception,e:
print e
return "Hello World!"
错误如下:

error.png

 
已邀请:

许丹石

赞同来自:

Database Connections\SDE.sde 是一个相对路径。在arcpy中执行时,相当于ArcCatalog里面的Database Connections里面找到SDE.sde连接文件。而如果你要在其他环境中执行,请找到绝对路径

Justin_224

赞同来自:

我也遇到了类似的问题,你的问题解决了吗?

菠萝仔

赞同来自:

最近也在做自动发布地图服务的功能,想通web端来调用,写的python脚本代码在通过cmd调用python脚本能够顺利执行完成,但是我把相同的代码写在flask web项目中时运行也会报错,但是报错信息不一样;
错误1:
arcpy.GenerateMapServerCacheTilingScheme_server()创建切片方案报错:错误信息为:ERROR 87931
 
错误2:
arcpy.CreateVectorTilePackage_management()创建矢量切片包时报错:
ERROR 87931
 
错误3:
发布地图服务时,下面的代码报错

service_draft = arcpy.sharing.CreateSharingDraft("STANDALONE_SERVER", "MAP_SERVICE", servicename, Map)
service_draft.targetServer = agspath
# Create Service Definition Draft file
service_draft.exportToSDDraft(sddraft_output_filename)

exportToSDDraft()函数报错;<built-in method exportToSDDraft of SharingDraftObject object at 0x000001E2A1D0B530> returned NULL without setting an error

要回复问题请先登录注册