python3.6 使用pyinstaller 打包web程式的方法

聽風。發表於2018-12-06

官方文件連線 (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檔案中,所以不用擔心如何將其他庫引入打包,當然你也可以選擇把原始碼全部複製到專案目錄下,在使用命令打包時,把它們都指定上(如果不嫌累的話)

相關文章