python3.6 使用pyinstaller 打包web程序的方法
阿新 • • 發佈:2018-12-06
圖標 擔心 窗口 ins static web服務 win 連接 相對
官方文檔連接 (https://pyinstaller.readthedocs.io/en/stable/ )
第一步,下載pywin32
首先下載pywin32,下面是下載鏈接,下載自己的系統版本對應的pywin32
https://github.com/mhammond/pywin32/releases
第二步,安裝pyinstaller
pip install pyinstaller
第三步,打包程序
命令參數
參數 | 描述 |
---|---|
-F | 表示生成單個可執行文件 |
-w | 表示去掉控制臺窗口,這在GUI界面時非常有用。如果不適用這個參數,則在運行打包後的exe時,會有一個命令行窗口,顯示控制臺輸出 |
-p | 表示你自己自定義需要加載的類路徑,一般情況下用不到 |
-i | 表示可執行文件的圖標 |
進入虛擬環境後,使用命令
命令
pyinstaller -F myfile.py
其他命令示例
pyinstaller -F -w -i ..\7.ico run.py a.py
上面命令的意思是
將當前目錄下的run.py 和a.py 打包成一個(-F)exe文件,運行時不顯示控制臺窗口(-w),指定exe文件的圖標(-i)為當前目錄的父級目錄(..\7.ico)下的7.ico對應的圖標
註意事項
- 圖標好像必須要是.ico格式,我使用.icns格式的圖標會報錯,目前不知道原因
- web服務如果需要html、css等靜態文件,可以按照項目結構,將對應的templates和static目錄復制到打包後的exe文件所在目錄下,就可以正常執行(具體得看你使用的web框架配置的靜態文件路徑與運行文件相對位置是怎樣的)
- 一般情況下,我們每個項目都有自己的虛擬環境,打包exe文件時會把虛擬環境下的其他庫一起打包進exe文件中,所以不用擔心如何將其他庫引入打包,當然你也可以選擇把源碼全部復制到項目目錄下,在使用命令打包時,把它們都指定上(如果不嫌累的話)
python3.6 使用pyinstaller 打包web程序的方法