为了方便用户使用,需要对项目进行打包,这里选用了经典的 PyInstaller 来进行打包。
打包脚本如下:
install.bat"D:\Program Files\QGIS 3.30.0\bin\python-qgis.bat" -m PyInstaller -w ^ --icon=ui/resources/icon/logo.ico ^ --hidden-import xlsxwriter ^ --collect-binaries=tables ^ --add-data="D:\Program Files\QGIS 3.30.0\apps\qgis\plugins;qgis\plugins" ^ --add-data="D:\Program Files\QGIS 3.30.0\apps\Python39\Lib\site-packages\PyQt5\*.pyd;PyQt5" ^ --add-data="D:\Program Files\QGIS 3.30.0\apps\qt5\plugins\styles;PyQt5\Qt\plugins\styles" ^ --add-data="D:\Program Files\QGIS 3.30.0\apps\qt5\plugins\iconengines;PyQt5\Qt\plugins\iconengines" ^ --add-data="D:\Program Files\QGIS 3.30.0\apps\qt5\plugins\imageformats;PyQt5\Qt\plugins\imageformats" ^ --add-data="D:\Program Files\QGIS 3.30.0\apps\qt5\plugins\platforms;PyQt5\Qt\plugins\platforms" ^ --add-data="D:\Program Files\QGIS 3.30.0\apps\qt5\plugins\platformthemes;PyQt5\Qt\plugins\platformthemes" ^ --add-data="proj;proj" ^ --add-data="ui\resources\icon;ui\resources\icon" ^ --add-data="ui\resources\shadow_10px.png;ui\resources" ^ --add-data="ui\style;ui\style" ^ --add-data="res;res" ^ --add-data="locales\en-us.qm;locales" ^ main.py
|
说明:
D:\Program Files\QGIS 3.30.0\
是QGIS的安装目录
--hidden-import:xlsxwriter
:动态加载库xlsxwriter,如果你的项目没有用到xlsx表格的读写,请忽略。
--collect-binaries table
:收集指定包table
或模块的所有二进制文件,没有请忽略。
--add-data="proj;proj"
:如果你使用GDAL库,在打包之后代码可能无法正确执行。该参数将根目录下的proj/proj.db
拷贝到打包目录的proj/proj.db
位置。请在根目录下创建proj
文件,并放入proj.db
文件。该文件的位置参考:https://zhuanlan.zhihu.com/p/653522235
ERROR 1: PROJ: proj_create_from_database: Cannot find proj.db
|
该部分是添加一些静态资源文件源路径;打包之后路径
--add-data="ui\resources\icon;ui\resources\icon" ^ --add-data="ui\resources\shadow_10px.png;ui\resources" ^ --add-data="ui\style;ui\style" ^ --add-data="res;res" ^ --add-data="locales\en-us.qm;locales" ^
|
main.py
:程序主入口,请将该脚本文件放到main.py
同级目录。
在PyCharm的控制台直接输入install.bat
即可执行打包脚本,打包输出目录为dist
打包完成之后,在dist/main/
目录中找到main.exe
双击即可运行。
之后可以使用工具将其打包为安装包文件,或者直接压缩为绿色解压版本。