ps:pyqt 5.13.1 以下的請更新,否則打包後可能會出現缺少pyqt的dll等問題…
更新包(模組)的命令:
更新到指定版本:
pip install pyqt5==5.13.1
更新到最新版本:
pip install --upgrade pyqt5
在更新pyqt5後,可能出現與pyqt其他相關包不相容的問題(在cmd中更新完pyqt5後,如果出現了其他包不相容,它會提示[incompatible]),此時需要把不相容的包也更新一下。
下方是我的一些包的的版本作為版本更新的參考。
對於多個py檔案以及帶有關聯資源的要打包成exe,我個人覺得專案檔案結構也很重要。
下面我將用兩個示例來演示。
專案檔案結構和執行效果如下圖所示:
建議把要打包的專案複製乙份出來打包
(可以把用不上的檔案刪除)
專案檔案結構越簡單,打包越不容易出錯~
找到專案資料夾,並整理一下。
按住shift 並單擊滑鼠右鍵,即可在此處開啟cmd
單檔案打包會將整個專案和相關依賴都打包進乙個exe,
此時一般只需要傳送exe檔案給別人即可正常執行。
它的缺點是:啟動相對另一種打包方式更緩慢。
輸入命令:
pyinstaller -f -w -i .\windowico1.ico .\imagebrowser.py
引數解釋:-f :單檔案打包
-w:不要console(取消類似於cmd的黑框框)
-i:後面接圖示位址(圖示一定要是標準的ico格式)
我用的是:.\windowico1.ico
最後面接的是要打包的程式:.\imagebrowser.py
執行命令成功後:
會生成三個資料夾和乙個.spec
檔案,前兩個資料夾是沒用的(建議刪除~)。exe在dist資料夾中。
雙擊執行exe:
可以看的成功打包了~
如果雙擊後出現閃退(太快看不清楚錯誤原因),說明打包出現了問題。
為了知道具體原因:
需要在cmd中執行這個exe。
如果執行不成功,此時就會顯示錯誤原因。
錯誤原因很多,也不是固定的,根據提示去對症下藥,更改好再次打包即可。
.spec檔案簡單說明:
它是打包的配置指令碼,在輸入打包命令後生成,在構建exe時會執行這個配置指令碼。所以如果一次打包後,我們對結果不滿意,可以修改.spec
檔案,然後輸入:pyinstaller ***x.spec
重新構建exe。
比如我們一開始忘記加ico了,或者需要更換ico,可以修改.spec中icon的檔案路徑…(後面再詳細講.spec裡的具體配置)
只需要將dist下的資料夾生成壓縮包發給別人,別人解壓,找到執行的exe即可執行程式。
相比於單檔案打包命令,
只是將單檔案打包命令中的-f
換成-d
同樣生成了三個資料夾和乙個.spec檔案,也是只有dist資料夾裡的東西有用。
不同的是:在dist資料夾裡生成了乙個資料夾。
----》手把手教你將pyqt程式打包成exe(2)
手把手教你寫Undo Redo程式
手把手教你寫 undo redo程式 undo redo 操作是很多具體編輯功能的軟體所不能缺少的。最典型兩種型別就是文字編輯和影象編輯軟體。然而它的實現在某種程度上來說也不是很簡單。我也廢話少說。要在程式中支援 undo redo 操作,就需要儲存一些必要的資訊,這個是眾所周知的。如果想支援無限級...
手把手教你寫Undo Redo程式
手把手教你寫undo redo程式 undo redo操作是很多具體編輯功能的軟體所不能缺少的。最典型兩種型別就是文字編輯和影象編輯軟體。然而它的實現在某種程度上來說也不是很簡單。我也廢話少說。要在程式中支援undo redo操作,就需要儲存一些必要的資訊,這個是眾所周知的。如果想支援無限級的und...
手把手教你OA選型
oa選型永遠是oa行業的重要焦點,在選型問題上困擾了很多客戶,雲全oa從這幾個方面教你如何選型。了解研發技術 技術是硬道理。只有過關的技術才會研發出過硬的產品。如果技術不過關,後期將會帶來一系列的問題。同時需要考慮技術的先進性。在現如今社會發展日新月異,今天還遙遙領先的管理模式也許明天就會被淘汰。所...