利用Nuitka打包py文件
一、运行环境:
- C 编译器。你需要一个支持 C11 或 C++03 的编译器(Windows 上的 MinGW64 C11 编译器,必须基于 gcc 11.2 或更高。如果没有找到可用的 C 编译器,它将被自动下载,这是推荐的安装方式,因为 Nuitka 也会为你升级它)
C 高速编译器缓存程序ccache :https://github.com/ccache/ccache/releases/download/v4.6/ccache-4.6-windows-32.zip
2.Python: Version 2.6, 2.7 or 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10
如果提示需要安装'ordered-set' or 'orderset' PyPI packages for best Python compile time performance.则安装以提高编译性能。
二、案例
1、打包成一个单独的文件夹
E:\PycharmProjects\base_notebook> python -m nuitka main.py --standalone --enable-plugin=pyside6
# --standalone 单独成一个文件夹,生成main.dist(main.py的文件名)
# --enable-plugin=pyside6 支持pyside6插件,不加默认是QT插件。
打包成exe后,会把所有的依赖包,及数据库打包进去,但是打包进去的数据库为空库。同时如果有附件或图片的文件夹,同时也要复制到打包的文件夹中。
2、打包成一个单独的文件夹,并将附件及数据库文件一起打包
E:\PycharmProjects\base_notebook> python -m nuitka main.py --standalone --enable-plugin=pyside6 --include-data-files=note.db=note.db --include-data-dir=pictures=pictures
--standalone 单独成一个文件夹,生成main.dist(main.py的文件名)
--enable-plugin=pyside6 支持pyside6插件,不加默认是QT插件。
--include-data-files=note.db=note.db 包含的数据文件,格式:源目录文件=打包目录目录文件
--include-data-dir=pictures=pictures 包含的数据目录,格式:源目录=打包后目录
3、打包到指定的目录,并删除打包过程生成的临时编译目录
E:\PycharmProjects\base_notebook> python -m nuitka main.py --standalone --enable-plugin=pyside6 --include-data-files=note.db=note.db --include-data-dir=pictures=pictures --windows-icon-from-ico=img\editor.ico --windows-disable-console --output=d:\notebook --remove-output
--standalone 单独成一个文件夹,生成main.dist(main.py的文件名)
--enable-plugin=pyside6 支持pyside6插件,不加默认是QT插件。
--include-data-files=note.db=note.db 包含的数据文件,格式:源目录文件=打包目录目录文件
--include-data-dir=pictures=pictures 包含的数据目录,格式:源目录=打包后目录
--windows-icon-from-ico=img\editor.ico 打包的exe使用图标
--windows-disable-console 关闭控制台窗口,不加该参数,默认在运行程序的时候会显示一个黑窗。
--output=d:\notebook 指定中间和最终输出文件应该放在哪里。DIRECTORY将被C文件、目标文件等填充。默认为当前目录
--remove-output 生成模块或exe文件后,删除生成编译目录。默认不删除。