python實戰===python程序打包成exe


順便提一下

如果有任何問題,你可以在這里找到我 ,軟件測試交流qq群,209092584

 
推薦PyInstaller項目www.pyinstaller.org
 
安裝方法:
先跑pip install pywin32再跑pip install pyinstaller即可

可用一句命令打包:
pyinstaller -F -w -i manage.ico app.py
 
-F:打包為單文件
-w:Windows程序,不顯示命令行窗口
-i:是程序圖標
app.py是你要打包的py文件

 

-F, –onefile 打包一個單個文件,如果你的代碼都寫在一個.py文件的話,可以用這個,如果是多個.py文件就別用
-D, –onedir 打包多個文件,在dist中生成很多依賴文件,適合以框架形式編寫工具代碼,我個人比較推薦這樣,代碼易於維護
-K, –tk 在部署時包含 TCL/TK
-a, –ascii 不包含編碼.在支持Unicode的python版本上默認包含所有的編碼.
-d, –debug 產生debug版本的可執行文件
-w,–windowed,–noconsole 使用Windows子系統執行.當程序啟動的時候不會打開命令行(只對Windows有效)
-c,–nowindowed,–console

使用控制台子系統執行(默認)(只對Windows有效)

pyinstaller -c  xxxx.py

pyinstaller xxxx.py --console

-s,–strip 可執行文件和共享庫將run through strip.注意Cygwin的strip往往使普通的win32 Dll無法使用.
-X, –upx 如果有UPX安裝(執行Configure.py時檢測),會壓縮執行文件(Windows系統中的DLL也會)(參見note)
-o DIR, –out=DIR 指定spec文件的生成目錄,如果沒有指定,而且當前目錄是PyInstaller的根目錄,會自動創建一個用於輸出(spec和生成的可執行文件)的目錄.如果沒有指定,而當前目錄不是PyInstaller的根目錄,則會輸出到當前的目錄下.
-p DIR, –path=DIR 設置導入路徑(和使用PYTHONPATH效果相似).可以用路徑分割符(Windows使用分號,Linux使用冒號)分割,指定多個目錄.也可以使用多個-p參數來設置多個導入路徑,讓pyinstaller自己去找程序需要的資源
–icon=<FILE.ICO>

file.ico添加為可執行文件的資源(只對Windows系統有效),改變程序的圖標  pyinstaller -i  ico路徑 xxxxx.py

–icon=<FILE.EXE,N> file.exe的第n個圖標添加為可執行文件的資源(只對Windows系統有效)
-v FILE, –version=FILE verfile作為可執行文件的版本資源(只對Windows系統有效)
-n NAME, –name=NAME 可選的項目(產生的spec)名字.如果省略,第一個腳本的主文件名將作為spec的名字

 

 

pyqt5寫完win32 應用程序后,經過pyinstaller打包成單個文件,運行彈出錯誤提示框:failed to execute script main

pycharm中pyinstaller打包參數:

Program:C:\Python\Python35\Scripts\pyinstaller.exe

Parameters: -w -F $FileName$

Working directory: $FileDir$

 

分析:

經google,發現pyinstaller 有--hidden-import 選項

             --hidden-import MODULENAME,--hiddenimport MODULENAME

                        Name an import not visible in the code of the

                        script(s).This option can be used multiple times.

 

解決:

打包時加上 --hidden-import=queue

即Parameters配置修改為:

Parameters:--hidden-import=queue -w -F $FileName$


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM