使用pyinstaller打包多文件項目成一個exe

使用pyinstaller打包一個多文件的項目,主函數的main.py

文件結構大概如下:

--code_1

? ----aa.py

--code_2

? ----bb.py

main.py

這里要將pyinstaller打包成一個exe,而且是單一的exe文件。

pyinstaller 的各個參數可以參考官方文檔:https://pyinstaller.readthedocs.io/en/v3.3.1/usage.html

本文主要記錄幾個注意點:

1. 搭建好虛擬環境

如果你項目的環境是你的基礎環境(base),那么可能會出現把本項目不需要的包依賴全部打包進去,導致最后生成的exe文件很大。所以建議要確保虛擬環境的正確性,盡量不要加載多余的包,畢竟,少一個包就少一個報錯的隱患。

2. 多文件py問題

考慮到除主函數之外的py文件依賴的包會找不到,所以在打包時也要把這個問題解決好,目前網上找到兩種方法,一種是先生成.spec文件,在.spec文件中修改后再繼續打包,另一種是直接命令行生成exe,這里推薦第二種:

```

pyinstaller -p code_1的絕對路徑;code_2的絕對路徑 -F main.py

```

第二種方法的好處個人覺得首先他不需要對每個py文件進行列舉,第二就是一次性一條命令解決問題,比較方便快速

3. No time zone found with key UTC

報這個錯可能是你安裝某些包時時區被你弄錯了,建議先別急著按照其他帖說的修改源碼等操作,可以試著重新安裝虛擬環境,把所有包都重裝下,我是最后沒辦法,重裝了就好了。

4.某個包找不到問題

在打包過程中,命令行可能就會出現這些問題,但是一切要以執行exe為準,如果exe執行正常,那說明用不到那個模板,可以不用管,如果真的強迫癥的話,可以加上hidden命令,詳細去官網找。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容