1.首先學會了最簡單的方法
1)pip install pyinstaller 安裝pyinstall
2)pyinstaller aaaa.py 轉換,會在當前目錄下建兩個文件夾,其中一個文件夾里就有exe
注,這種方式更適合於沒有界面的python程序,因為是自帶控制台的,有界面的python程序反而會很尷尬,因為這種方法會先彈一個控制台出來,再彈你寫的界面
2.后來發現可以實現沒有控制台的,加個參數就可以
pyinstaller -w aaaa.py
-F 打獨立的exe
-i 指定圖標
-w 去掉控制台
但是發現了新的問題,打包wxpython失敗,打完的包運行不起來:原因可能是依賴的三方的包,這個還不知道要怎么解決
3.以上問題解決了,原因曾經也遇到過,就是項目的解釋環境和installers安裝的解釋環境不是一個;installer 安裝在了默認的python解釋環境下,打包的程序在另一個解釋程序下;這種情況如果沒有引入第三方包,不會出問題,但是如果引用了第三方的方,就會 出現默認的環境下的installers找不到項目環境下安裝的三方包,而使得打好的包不能運行(https://www.cnblogs.com/mghhzAnne/p/10529745.html),解決辦法跟以前的那個問題一樣,要么就把installers安裝在項目環境下,要么項目用默認的解釋環境(這里我用了后者,因為我不知道前者怎么操作,后者用pip就可以安裝了)
4.還有一個問題需要注意,就是生成的exe是在cmd 當前文件目錄下生產的dist文件夾下,
注:我把pyinstaller的路徑寫到環境變量里了
5.pyinstaller說明文檔:https://pyinstaller.readthedocs.io/en/stable/installation.html
pyinstaller安裝的時候,會默認安裝很多其他的包,如果想移植到其他地方用,需要把其他包也拷貝過去,也可以報錯提醒哪個考哪個