雖然之前我們的程序寫好了,但是需要依賴於Python環境。
我總不能在老師電腦上安裝Python,讓老師自己去運行.py文件吧!老師想要的是雙擊就能運行的小工具。那麼,怎麼才能把我們寫好的Python文件轉化為exe可執行文件呢?藉助這個機會,我學習了一下pyinstaller打包文件的模塊。
1pyinstaller -F tm_01_birthday.py
雖然命令就一行,但從開始執行,到最後真正地打包成 26.9M 的可執行文件,我還是經歷了很多坑。我直接在py文件的所在目錄,輸入上述的單行命令,不一會就報錯了。CSDN博客上說是,看上去似乎是某個庫自己遞歸遍歷玩的太嗨了,超過了python的棧高度限制。1) pyinstaller -F tm_01_birthday.py這一步肯定會報上述錯誤導致失敗,但是會產生一個tm_01_birthday.spec文件2) 在xxx.spec文件中增加兩行(添加在原文件第二行):
1import sys
2sys.setrecursionlimit(5000)
3) pyinstaller tm_01_birthday.spec因為我用的Anaconda,連同一些用不到的文件,都一併打包了,導致文件過大。
1)使用pipenv模塊,在文件目錄下創建虛擬環境,在虛擬中打包文件。為此,我特意試了試,但打包之後的文件還是303M!不知道為什麼!我有一臺閒置電腦,我把電腦上的Anaconda卸載了,裝了一個純淨的Python。我的程序需要用到pandas、wxpy這兩個第三方模塊。首先用pip 安裝一下,然後再用 pyinstaller 執行那單行命令。打包好之後,會在dist文件夾下生成一個exe文件,但我運行之後沒有任何反應。
我的程序加載excel表格時,使用的是相對路徑。所以,程序是在等我的excel表格呀!我把excel表格複製到dist文件夾下,再次打開了程序!
然後,窗格上顯示出了學生名單以及消息發送成功的提示。最後,我在手機微信裡,看到了發送的消息!
連結:https://pan.baidu.com/s/1y3p-hqRbxzOSztP7jEjQEw
提取碼:wshc