分享

Python&ArcPy打包指北(上)

 GIS荟 2021-09-19
前言:由于 arcgis 是非开源的盈利性软件。同时 arcpy 的使用建立在安装成功了的 arcgis 之上。所有对使用了 arcpy 包的 python 程序打包几乎是不可能完成的任务。但是,其中还是有窍门的!

什么是打包

打包是指将编写好的代码编译打包封装成可执行文件,在window平台上可执行文件是后缀为 .exe 的文件。该文件可以完全独立运行,不必再使用 idle 或者各种终端来运行 .py 文件。也可以直接拷贝到其他电脑上运行。

常见的 python 代码打包程序有 py2exe、pyinstaller、nuitka 等。


为什么要打包

arcgis 二次开发通常使用 c# 和 c++。实际上使用 python 也能做简单、轻度的二次开发,并且最重要的是 Python 较为简单易用。

当然打包也有必要条件,有且只有一个:那就是该电脑有成功安装 arcgis destop

那么回到该节的标题:为什么要打包为什么要打包?便于程序的分发使用,不用配置各种环境,不用重复安装各种第三方包,如PIL,做到拷贝-双击-使用。


效果展示

使用 py2exe 打包编写好的程序,生成程序。然后执行程序中的多进程导图功能,该功能可以批量从 mxd 中导出地图。

该程序导入了 arcpy 包并使用了 arcpy.mapping.ExportToJPEG 方法。


简单指北

使用py2exe打包。打包 arcpy ,实际在esri的官网博客上就有人写过,主要思路就是使用 .pth 文件从外边引入arcpy,不将 arcpy 打包进程序。当然这也是打包后的程序必须运行在成功安装了arcgis(arcgis不必启动)的电脑上的原因。

大体思路是如此,但是在实际的打包过程中,不同的环境,不同的依赖会导致每个人都出现不完全一样的问题。

时间有限,下一节再细讲。

参考链接:

https://community./t5/python-questions/using-py2exe-with-arcpy-it-can-be-done-easily/td-p/360520


结尾


    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多