pyinstaller打包可執(zhí)行文件出現(xiàn)KeyError的問題
pyinstaller打包可執(zhí)行文件出現(xiàn)KeyError
提示錯誤信息
直接運行python文件無問題,使用pyinstaller打包生成可執(zhí)行文件,
運行可執(zhí)行文件會出現(xiàn)以下報錯:
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!
原因分析
打包后的可執(zhí)行文件系統(tǒng)模塊字典 sys.modules 找不到對應(yīng)的鍵值canmatrix.formats.dbc 。
原因是在插入依賴包的時候import canmatrix只插入了基礎(chǔ)的模塊。
解決方法
增加相關(guān)子模塊的插入import canmatrix.formats.dbc,然后重新打包,生成的可執(zhí)行文件運行正常。
Pyinstaller打包可執(zhí)行文件運行在linux容器中
安裝說明
在linux安裝pyinstaller
執(zhí)行打包命令
$python_path/bin/pyinstaller -F test.py
調(diào)用dist目錄下文件
./test
常見問題
Python library not found: libpython3.9m.so.1.0, libpython3.9m.so, libpython3.9.so.1.0, libpython3.9.so, libpython3.9mu.so.1.0
重新編譯安裝python即可
./configure –prefix=/usr/local/python3.9 –enable-shared –with-ssl make make install
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
TensorFlow教程Softmax邏輯回歸識別手寫數(shù)字MNIST數(shù)據(jù)集
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)的TensorFlow教程基于Softmax邏輯回歸識別手寫數(shù)字的MNIST數(shù)據(jù)集示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11
Visual Studio Code搭建django項目的方法步驟
這篇文章主要介紹了Visual Studio Code搭建django項目的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
python基礎(chǔ)教程之python消息摘要算法使用示例
這篇文章主要介紹了python中的消息摘要算法使用示例,需要的朋友可以參考下2014-02-02

