python利用pyinstaller打包文件
首先在命令行下載pyinstaller包
pip install pyinstaller下載完成以后對應工程進行打包即可,步驟如下
1.想要對哪個工程打包,右鍵如圖所示進行操作。
2.在命令框中輸入以下代碼。
????????pyinstaller -F 工程名.py? ? ? ? 參數F表示覆蓋打包,這樣打包時,不管我們打包幾次,都是最新的,而且它是集成一個exe文件,不適合調試
????????pyinstaller - D -c 工程名.py? ? ? ?參數D 生成一個目錄,各種依賴庫,資源和exe都在目錄下,參數c則顯示命令行窗口,如果不想顯示則需-w,一般情況下默認-c。
? ? ? ? 還有就是改變圖標? 代碼為? pyinstaller -D -i ***.ico 工程名,參數-i 設定程序圖標 ,其后面的xxx.ico文件就是程序小圖標,這里注意一下,小圖標的圖片需放在當前目錄下,后綴名改成.ico即可,代碼實現如下
pyinstaller -F -w -i ./圖片名.ico 工程名.py? ? ? ? 以上幾個就是常用的,足夠滿足需求了
在上圖中輸入以上代碼即可打包
3.pyinstaller打包常見問題
????????1. 路徑最好為英文,沒有中文字符;
2. 腳本名稱里沒有特殊字符
3. 使用utf-8編碼
4. 圖標文件必須是正常格式,為.ico文件
5. 命令使用pyinstaller和pyinstaller.exe結果都是一樣的
6. 參數的添加得在pyinstaller和dev.py文件中間,不能隨意位置添加
7. 如果你打包的代碼中用到了靜態文件,如圖片和資源文件,需手動復制到文件夾中,否則exe文件會報找不到文件的錯
8. 代碼里導包最好使用from的方式,可節省打包后的文件大小
9. 就是當你使用錯誤的參數去打包或者打包到一半中斷,等等此類運行到一半沒了的情況。會導致你原來的py文件變成一個0KB的空文件。里面的代碼會全部消失!!!所以以后需要有個良好的習慣,就是復制一份代碼出來,用這個副本進行打包。并且參數出錯,或者打錯了導致失敗時,檢查下副本文件的py文件是否還存在再繼續重新打包,不然打出來的就是空的文件,自然一直閃退,因為壓根沒內容(這點我沒遇到過,來自別人的提醒)
10. pygame代碼調試的時候要在結束時加quit()不然程序會崩潰
11. py文件運行沒問題,不代表你打包后的文件運行就沒問題,所以在打包好文件,打算運行exe文件測試時一定要錄屏,因為報錯會一閃而逝然后程序關閉,不仔細看的話,發現不了還報錯,只會認為程序一運行就閃退,會讓人不明所以,都不知道為什么,只有清楚報的什么錯才好去解決,所以,一定要錄屏!!!!
12. 如果在py文件中用到了多進程,且你在Windows下編譯需要加一行代碼在開頭,multiprocessing.freeze_support()?
13. 打包的時候要進入到能運行這個py文件的虛擬環境中,不能在別的環境中對py文件打包,不然打包的結果還是你原來的環境,可能打包文件過大,或者引起缺失包等其他問題
14. 如果有打包錯誤,具體看build里的warn***.txt文檔,里面詳細記載了錯誤的原因。一般都是庫丟失
?
總結
以上是生活随笔為你收集整理的python利用pyinstaller打包文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Jenkins生成APP二维码下载链接
- 下一篇: 【Python学习笔记】第一章基础知识: