Nuitka打包命令详解
   1
Nuitka打包命令详解 Nuitka打包是将Python代码转换为 C 级程序, 通用打包命令 简单打包,复制以下命令即可。以下命令将程序打包到out目录下。拷贝文件夹即可分发给其他用户使用。 1 python -m nuitka --standalone --disable-console --standalone --output-dir=out main.py 常用配置项目 –standalone 开启独立模式,打包的程序不依赖本Python环境。程序中包含了Python环境,打包体积相对大些。该选项默认包含了:“–follow-imports”和“–python-flag=no_site”。默认情况下为关闭状态。 –disable-console 禁用控制台黑窗口 –onefile 先启用–standalone,再启用onefile模式。将程序打包为单个可执行文件。默认情况下为关闭状态。 –output-dir 用于指定存放,打包零时文件和最终生成文件的目录,默认在当前目录。 –output-filename 设置输出文件的名称,不建议使用。名称是中文则会出现乱码,打包之后再修改。 –windows-icon-from-ico=ICON_PATH 添加可执行文件的图标 –onefile-windows-splash-screen-image=SPLASH_SCREEN_IMAGE 使用 onefile 打包文件时 可能启动较慢,这里配置双击后的启动图片。 –windows-uac-admin 使用管理员权限打开 –enable-plugin 不清楚要加上哪些插件不用管,打包期间会出现警告,复制警告给出的配置,加到打包命令行就行。
Nuitka打包Python程序,运行后提示第三方库包含的文件不存在
   1
Nuitka打包Python程序,运行后提示第三方库包含的文件不存在。 这是由于打包时未将拓展包的文件打包到程序目录下。 解决方法: 通过命令参数 nuitka 有以下命令都可以将附件文件打包到程序目录 include-data-file 、include-data-dir,分别是导入文件和导入文件夹。 参数格式如下 “=” 前为源路径等号后为打包后路径,源路径相对于打包目录。 1 2 3 --include-data-file=files/msvcr120.dll=pyzbar/msvcr120.dll --include-data-dir=static=static 通过配置文件 找到电脑中Python的安装目录 {Python安装目录}\python3\Lib\site-packages 然后找到以下文件,该文件是处理第三方拓展包资源的配置文件。 nuitka\plugins\standard\standard.nuitka-package.config.yml 打开yml配置文件,内容如下所示。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 - module-name: 'sv_ttk' data-files: dirs: - 'theme' patterns: - 'sv.tcl' - module-name: 'pytkUI' data-files: dirs: - 'icons' patterns: - '*.json' - '*.woff' 这里yaml格式配置文件,每个短横线“-”代表一项配置。主要规则如下所示 module-name 第三方包名称 data-files 配置数据文件位置和查找规则 dirs 相对与拓展包的数据文件路径 patterns 匹配文件的规则 根据缺失的文件,在此添加配置后,重新打包即可。如果你是拓展包开发者可以将配置提交到nuitka的仓库。 参考链接 配置的参数挺多,详细可查看官方链接
站长微信
请备注来意
二维码