最近想將自己寫的py文件打包成可運行的程序,上網查了后,目前有好幾種方法可以將python文件打包成exe應用程序文件,例如py2exe,pyinstaller等,比較下來,還是覺得pyinstaller使用起來比較簡單。
1、首先第一步下載安裝pyinstaller,
如果已經安裝過python3的用戶比較方便,可以使用python3文件下的Scripts文件中的pip安裝,python2好像沒有,使用pip安裝非常方便,首先用windows鍵+R鍵打開控制台(就是那個黑色命令框),然后找到python3\scripts下的pip文件,將他拉到黑色框上,它的地址自動輸入,然后輸入install pyinstaller就可以了,或者自己手動輸入pip所在路徑也可以
安裝過程如下:(一般不會出現什么問題的)

2、找到你要轉換的py文件路徑,在該路徑下打開cmd,然后輸入pyinstaller -F 文件名.py,注意文件名稱不能是中文,然后將會在該路徑下產生幾個文件夾,其中dist下就是exe文件,build跟_pycache_文件是可以刪除的


3、pyinstaller有幾個常用語法,比如pyinstaller -h查找幫助,--clean清理緩存,-D生成多個文件,-i file.ico(可執行文件的圖標),結合-F file.py一起使用

4、下面是一些關於介紹上述的參數的使用方法:
-h, --help 查看幫助
-v, --version 查看 PyInstaller 版本
--clean 清理打包過程中的臨時文件
-D, --onedir 默認值,生成 dist 目錄
-F, --onefile
在 dist 文件夾中只生成獨立的打包文件第
-p DIR, --paths DIR 添加 Python 文件使用的第三方庫路徑
這個指令后面可以增加pyinstaller搜索模塊的路徑。因為應用打包涉及的模塊很多。這里可以自己添加路徑。不過,site-packages目錄下都是可以被識別的,不需要再手動添加
-i <.ico or .exe,ID or .icns>,--icon <.ico or .exe,ID or .icns >
指定打包程序使用的圖標(icon)文件
PyInstaller 命令不需要在 Python 源文件中增加代碼,只需要通過命令行進行打包即可。-F 參數最為常用,對於包含第三方庫的源文件,可以使用-p 添加第三方庫所在路徑。如果第三方庫由 pip 安裝且在Python 環境目錄中,則不需要使用-p 參數。
例子:
pyinstaller Hello.py 已成功實現將python文件轉換為exe文件
pyinstaller -w main.py -p d:\myprog\test; d:\myprog\test\lib 已成功實現將多個python文件轉換為exe文件-包含庫文件(-w的目的是運行程序的時候不會出現dos窗口)多個路徑可以使用;隔開。
pyinstaller -F -w main.py -p d:\myprog\test 已成功實現將多個python文件轉換壓縮為單個exe文件-這個才是最需要的(-w的目的是運行程序的時候不會出現dos窗口)
pyinstaller -F -w -i pic.ico main.py -p d:\myprog\test 已成功實現將多個python文件轉換壓縮為單個exe文件且在exe文件前面添加一個圖標-這個才是最需要的(-w的目的是運行程序的時候不會出現dos窗口)
5、在打包后,一直出現彈窗報“failed to execute script main”。
最終使用“pyinstaller --hidden-import=pkg_resources -F main.py” 順利打包。
注意:語句中的“-F”一定要大寫
