用Pyinstaller生成可執行文件
(1)只有單程序時
當只需要將一個單獨的程序(不需要用到其他模塊或文件)打包成可執行文件exe時,例如一個簡單的輸出hello world的程序 helloworld.py。
在當前文件目錄下打開cmd窗口(按住Shift + 右鍵,選擇 在此處打開命令窗口),然後在cmd窗口中輸入pyinstaller helloworld.py,然後按下回車。
命令執行後會在當前文件夾裏生成一個叫 dist 的文件夾和一個叫 build 的文件夾,還有一個叫 helloworld.spec 的 spec 文件,在 dist 文件夾中會產生一個叫 helloworld 的文件夾,helloworld 文件夾中有一個叫做 helloworld.exe 的程序即為我們需要的exe文件。
點擊 執行 helloworld.exe,出現以下結果
(2)需要用到其他文件如圖片時,這裏有兩種方法。
第一種方法:比如這裏有一個需要用到圖片 "3.png" 的可視化窗口程序001.py
先按照(1)步驟打開cmd窗口輸入 pyinstaller 001.py -w
在 dist文件夾中裏生成一個001文件夾。-w的意思是去掉命令行窗口(由於001.py是一個可視化窗口程序,我們這裏為了美觀可以去掉命令行窗口),此時001文件夾裏的001.exe是無法執行的。因為程序文件目錄下缺少圖片“3.jpg”,這裏我們只需要將此圖片“3.jpg”復制到001文件夾中,程序便可執行。
點擊執行 001.exe,結果如下
第二種:同樣先按照(1)步驟打開cmd窗口輸入 pyinstaller 001.py ,在 dist文件夾中裏生成一個001文件夾。前面已經說過,會在當前目錄下產生一個001.spec的spec文件,打開spec文件編輯
找到datas參數,此時datas參數為空,我們只需要將datas=[] 修改成datas = [(‘3.png‘,‘‘)],
然後用在當前文件夾打開cmd窗口輸入 pyinstaller 001.spec,執行此命令然後在001文件夾中就會有3.png文件
這個參數為一個列表 [(x,y)] ,x表示我們需要的文件路徑,這裏由於spec文件與圖片3.png出於同一文件夾之下,可直接寫成 ‘3.png‘ ,也可以寫成絕對圖片的絕對路徑,如 ‘E:\\Python文件\/helloworld\/新建文件夾\\3.png‘,
y表示將需要的文件保存到什麽文件中,這裏y參數沒有寫表示直接保存在根目錄001中,可以寫成 ‘.\\img‘ ,就表示在001文件夾中創建一個img文件夾保存圖片文件3.png
用Pyinstaller生成可執行文件