Python程序打包exe報錯的幾種解決方法
在py文件所處的路徑下輸入cmd,進入文件夾的終端進行打包
# 帶有終端窗口 pyinstaller -F xxx.py # 不帶終端窗口 pyinstaller -F -w xxx.py
解決方法(一):檢查你的Pyinstaller版本和Python版本或者第三方庫版本是否匹配,如果不匹配,嘗試卸載重新安裝合適的版本
1.查看pyinstallar版本
pyinstaller --version
提示The ‘pathlib’ package is an obsolete backport of a standard library package and is incompatible with PyInstaller.conda remove pathlib卸載pathlib,提示The following packages will be UPDATED,輸入y。
繼續(xù)查看pyinstaller --version,Please install pywin32-ctypes.用pip install pywin32-ctypes提示已安裝,用conda install pywin32-ctypes成功安裝。
pyinstaller --version 5.13.0
2 查看Python版本
python --version Python 3.10.12
嘗試
1.編輯 python 目錄/Libs/dis.py,找到 def _unpack_opargs,將 else 部分增加一行
extended_arg = 0
發(fā)現(xiàn)文件里已存在這行2.查看5.13.0 pyinstaller官方文檔,發(fā)現(xiàn)支持3.10.12版本的python,也能在win10上運行
https://pypi.org/project/pyinstaller/
解決方法(二):修改你的Python安裝路徑或者打包文件路徑,確保沒有中文或者空格
C:\Users\zzfs\Desktop\test依然無法運行
解決方法(三)重裝Anaconda
沒用
解決方法(四)在Anaconda Prompt里打包
沒用
解決方法(五) 加日志記錄問題
日志提示
File “pandas\core\generic.py”, line 5989, in getattr
AttributeError: ‘DataFrame’ object has no attribute ‘append’
pandas版本升級棄用了 老版本’DataFrame’的append方法。
#position_detail=position_detail.append(pd.Series(c3, index=position_detail.columns), ignore_index=True) 改成 position_detail=pd.concat([position_detail, pd.DataFrame([pd.Series(c3, index=position_detail.columns)])], ignore_index=True)
解決了。
可能是安裝anaconda時同時安裝了3.10版本的Python,但我之前單獨安裝過3.11版本的,spyder編譯器里面內(nèi)置的pandas包的版本 跟 打包時的pandas包不一樣。
到此這篇關(guān)于Python程序打包exe報錯的幾種解決方法的文章就介紹到這了,更多相關(guān)Python程序打包exe報錯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實現(xiàn)關(guān)鍵詞提取的示例講解
下面小編就為大家分享一篇python實現(xiàn)關(guān)鍵詞提取的示例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04Pytorch之8層神經(jīng)網(wǎng)絡(luò)實現(xiàn)Cifar-10圖像分類驗證集準(zhǔn)確率94.71%
這篇文章主要介紹了Pytorch之8層神經(jīng)網(wǎng)絡(luò)實現(xiàn)Cifar-10圖像分類驗證集準(zhǔn)確率94.71%問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03