網站首頁 編程語言 正文
使用指令:pyinstaller -F -w main.py
生成的.exe文件執行報錯
看報錯信息,初步懷疑是生成的.exe不能執行.ini配置文件。
將程序需要的.ini文件放到.exe同級目錄下,雖然還是執行不成功,但是沒有上述報錯了;刪除同級目錄下面的.ini文件,上述報錯仍然存在,說明初步的判定成立,.exe執行不成功與.ini配置文件有關系。
測試辦法
pyinstaller不加參數”-F"和“-w",執行執行指令:pyinstaller main.py
加不加“-F"和”-w"效果的詳細說明文章鏈接:https://www.jb51.net/article/183469.htm
命令行窗口顯示報錯信息如下
dist目錄下并沒有.ini配置文件,手動添加該文件,再運行main.exe程序,
新的報錯如下
上述報錯說模塊openpyxl執行load_workbook打開文件功能時報錯,但是在pycharm環境下運行main.py程序是ok的,不明白為什么生成.exe之后就無法打開.xlsx文件。
嘗試了好幾個.xlsx文件都這樣,懷疑是不是生成的.exe不能打開電腦加密的.xlsx文件?
在電腦上新建一個.xlsx文件,不對文件進行任何操作,使其處于未被加密狀態,執行.exe程序,和打開加密的.exe文件報錯對比如下,發現生成的.exe確實不能打開加密的文件:
上述報錯信息解釋如下
最上面的紅框框出來的報錯是打開的加密文件,可以看出來執行到代碼的30行load_workbook打開文件操作;
下面的紅框框出來的報錯是打開的沒有加密文件,可以看出來執行到代碼的35行了,這個時候30行的load_workbook打開文件操作執行ok通過了,是其他原因導致的報錯;
說明:生成的.exe確實不能打開加密的文件。
將文件解密后,.exe功能執行ok。
同樣用解密的文件,使用指令:pyinstaller -F -w main.py 生成的.exe程序,即使放置了需要的.ini配置文件執行結果也不是想要的(只顯示一個界面,點擊確認button后應該彈出另外一個數據展示界面),但是不會報錯。原因未知。
使用"-n"指定生成的.exe的名稱,指令:pyinstaller main.py. -n ***
由于.exe實現的界面功能比較簡單,沒有在程序里面設置日志功能,當遇到操作不當引起bug時還是需要借助命令行窗口的顯示查找原因的,所以不使用"-w"參數取消顯示命令行窗口了。
附上pyinstaller的常見參數
原文鏈接:https://blog.csdn.net/Logintern09/article/details/122241738
相關推薦
- 2022-11-07 Python實現四舍五入的兩個方法總結_python
- 2022-03-18 C語言計算字符串最后一個單詞的長度_C 語言
- 2022-07-31 C++超詳細分析講解內聯函數_C 語言
- 2022-05-04 ?分享Python?中的?7?種交叉驗證方法_python
- 2023-10-30 springboot 整合 p6spy 插件打印sql執行時間以及真實sql內容
- 2022-09-06 C語言超詳細講解指向函數的指針_C 語言
- 2022-07-08 python?讀寫csv文件方式(創建,追加,覆蓋)_python
- 2022-04-15 python實現購物車功能_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支