![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SYxImMhNzN1UjYmZmMidjMwU2MxQmN1EDNjFGNxMmYk9CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
pyinstaller 是一個很有用的第三方庫,通過對源檔案打包,讓我們的python檔案可以跨系統跨環境運作。
前言
給小姐姐寫了個python檔案,功能實作了,但怎麼給她呢。兩種方案:
- 直接給python檔案,然後讓她自行安裝python。
- 把python檔案和python環境一起給她,她直接點點點即可。
本着碼農懶懶懶的精神,方案一不予通過, 采用方案二。
pyinstaller
pyinstaller 可以把python檔案直接打包成可執行檔案,符合需求。
安裝
- 如果你的python不是3.8.0,應該可以這樣安裝,如果你的python版本是3.8.0,可以跳到文章末尾看安裝方式
pip install pyinstaller
如果一直報逾時錯誤,如下,
可以這樣安裝
pip install pyinstaller --trusted-host https://pypi.org --trusted-host https://files.pythonhosted.org
安裝成功,檢視pyinstaller版本驗證pyinstaller是否成功
pyinstaller --version
3.5
如果正常輸出pyinstaller版本說明安裝成功
打包
# -F 指的是打包成一個檔案
pyinstaller -F xxx.py
如果執行成功,并且dist檔案夾下的xxx.exe可以正常運作,那麼恭喜你,打包成功了。如果打包時報如下錯誤
那很可能是版本不對,可以試試如下安裝pyinstaller
pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz
我的python是3.8.0,報了這個錯,原因如下
打包成功,執行
打包成功之後,你會看到多出了幾個新的檔案,不要害怕,不要淩亂。打開dist檔案夾,你需要的可執行檔案就在這裡。點點點即可。
Oh, No. 點點點,可以看見檔案确實執行了,但是沒有報錯也沒有輸出預期結果,反正我是有一點淩亂了。
看官網梳理流程,确定應該沒有錯誤。預估可能原因:
- 使用了第三方庫,但是打包并沒有報錯。無從下手
- 源檔案出問題
python xxxx.py
// 報錯
"XXXXXX"找不到(類似)
之前運作是沒有錯誤的,不知道為什麼突然又沒有這個庫,後來仔細想了想,應該是我之前用的python2安裝的,今天打包用的是python3。
此時想到一句話,論挖坑技術哪家強,~
重新安裝,打包,執行。
完美。
附上部分打包指令:
pyinstaller API Document
我的python學習筆記
最後
歡迎一起快樂的挖坑、填坑,哈哈哈