Nuitka打包Python程序,运行后提示第三方库包含的文件不存在
Nuitka打包Python程序,运行后提示第三方库包含的文件不存在。
这是由于打包时未将拓展包的文件打包到程序目录下。
解决方法:
通过命令参数
nuitka 有以下命令都可以将附件文件打包到程序目录 include-data-file 、include-data-dir,分别是导入文件和导入文件夹。
参数格式如下 “=” 前为源路径等号后为打包后路径,源路径相对于打包目录。
|
|
通过配置文件
找到电脑中Python的安装目录
{Python安装目录}\python3\Lib\site-packages
然后找到以下文件,该文件是处理第三方拓展包资源的配置文件。
nuitka\plugins\standard\standard.nuitka-package.config.yml
打开yml配置文件,内容如下所示。
|
|
这里yaml格式配置文件,每个短横线“-”代表一项配置。主要规则如下所示
- module-name 第三方包名称
- data-files 配置数据文件位置和查找规则
- dirs 相对与拓展包的数据文件路径
- patterns 匹配文件的规则
根据缺失的文件,在此添加配置后,重新打包即可。如果你是拓展包开发者可以将配置提交到nuitka的仓库。
参考链接
配置的参数挺多,详细可查看官方链接
Nuitka Package Configuration — Nuitka the Python Compiler documentation