1. 程式人生 > >Pyinstaller的各種坑

Pyinstaller的各種坑

1.要在Terminal裡輸入命令,即cmd\命令提示符裡,而且必須指定pyinstaller的具體位置,本機是在:C:\Users\張小幽\AppData\Local\Programs\Python\Python35-32\Scripts\pyinstaller.exe注意安裝package要安裝pyinstaller,不能裝錯包了;
2.當有多個py檔案時,要一起打包,語法如下:

C:\Users\張小幽\AppData\Local\Programs\Python\Python35-32\Scripts\pyinstaller.exe -F main.py settings.py sprites.py

3.注意系統是在C:\Users\張小幽\資料夾下找main.py settings.py sprites.py這幾個檔案,這幾個檔案要放在這個目錄下;
4.可能會出現這個錯誤:
cmd錯誤提示
注意這不是你的py檔案有誤,而是pyinstaller-script.py這個檔案的編碼有誤,要找到C:\Users\張小幽\AppData\Local\Programs\Python\Python35-32\Scripts\pyinstaller-script.py這個檔案,然後開啟長這樣:

#!c:\users\張小幽\appdata\local\programs\python\python35-32\python.exe
# EASY-INSTALL-ENTRY-SCRIPT: 'PyInstaller==3.4','console_scripts','pyinstaller' __requires__ = 'PyInstaller==3.4' import re import sys from pkg_resources import load_entry_point if __name__ == '__main__': sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) sys.exit(load_entry_point(
'PyInstaller==3.4', 'console_scripts', 'pyinstaller')())

這是編碼有問題,要在第一行加上# -- coding:utf-8 --
有可能使用者名稱‘張小幽’那裡還會出現亂碼,將亂碼改成使用者名稱就好了.
5.程式所呼叫的assets(包括影象和音樂)要和exe檔案放在一個目錄下,這樣執行exe檔案就可以玩了,如下圖所示:
打包後生成的資料夾dist

6.生成的exe檔案有可能開啟後閃退,這是缺少環境導致的,檢查一下你是不是在pycharm裡寫的py檔案,而pycharm裡裝了某個包而你的電腦裡沒有裝這個包,要在電腦裡再裝一下這個包。

自己摸索的時候看的網站和部落格比較多,而且也忙於自己打包程式,因此不記得看了那些部落格了,這裡沒法羅列了,還請各位網友見諒!以後一定注意!