什么是打包打包是指將編寫好的代碼編譯打包封裝成可執(zhí)行文件,在window平臺(tái)上可執(zhí)行文件是后綴為 .exe 的文件。該文件可以完全獨(dú)立運(yùn)行,不必再使用 idle 或者各種終端來運(yùn)行 .py 文件。也可以直接拷貝到其他電腦上運(yùn)行。 常見的 python 代碼打包程序有 py2exe、pyinstaller、nuitka 等。 為什么要打包arcgis 二次開發(fā)通常使用 c# 和 c++。實(shí)際上使用 python 也能做簡單、輕度的二次開發(fā),并且最重要的是 Python 較為簡單易用。 當(dāng)然打包也有必要條件,有且只有一個(gè):那就是該電腦有成功安裝 arcgis destop。 那么回到該節(jié)的標(biāo)題:為什么要打包為什么要打包?便于程序的分發(fā)使用,不用配置各種環(huán)境,不用重復(fù)安裝各種第三方包,如PIL,做到拷貝-雙擊-使用。 效果展示使用 py2exe 打包編寫好的程序,生成程序。然后執(zhí)行程序中的多進(jìn)程導(dǎo)圖功能,該功能可以批量從 mxd 中導(dǎo)出地圖。 該程序?qū)肓?arcpy 包并使用了 arcpy.mapping.ExportToJPEG 方法。 簡單指北使用py2exe打包。打包 arcpy ,實(shí)際在esri的官網(wǎng)博客上就有人寫過,主要思路就是使用 .pth 文件從外邊引入arcpy,不將 arcpy 打包進(jìn)程序。當(dāng)然這也是打包后的程序必須運(yùn)行在成功安裝了arcgis(arcgis不必啟動(dòng))的電腦上的原因。 大體思路是如此,但是在實(shí)際的打包過程中,不同的環(huán)境,不同的依賴會(huì)導(dǎo)致每個(gè)人都出現(xiàn)不完全一樣的問題。 時(shí)間有限,下一節(jié)再細(xì)講。 參考鏈接: https://community./t5/python-questions/using-py2exe-with-arcpy-it-can-be-done-easily/td-p/360520 結(jié)尾 |
|