1. 提示错误信息
直接运行python文件无问题,使用pyinstaller打包生成可执行文件,运行可执行文件会出现以下报错:
Traceback (most recent call last):
File "excel2dbc.py", line 232, in <module>
File "excel2dbc.py", line 226, in main
File "canmatrix\formats\__init__.py", line 102, in dump
KeyError: 'canmatrix.formats.dbc'
[6340] Failed to execute script 'excel2dbc' due to unhandled exception!
2. 原因分析
打包后的可执行文件系统模块字典 sys.modules 找不到对应的键值canmatrix.formats.dbc 。
原因是在插入依赖包的时候import canmatrix
只插入了基础的模块。
3. 解决方法
增加相关子模块的插入import canmatrix.formats.dbc
,然后重新打包,生成的可执行文件运行正常。