pyinstaller 打包Python腳本成 exe 時加 -w 參數的坑

在使用pyinstaller進行打包Python腳本成exe程序帶 -w參數時,如果程序中有用到 以下一些方法,會導致一些坑:

subprocess.Popen()
os.popen()

pyinstaller打包exe程序時,一般的語法示例如下,假如作者這裏有個腳本叫:冒險島登錄器.py 現在要將它打包成:冒險島登錄器.exe可執行程序。常見的做法是:

pyinstaller -F 冒險島登錄器.py -w

但是這樣做有個弊端,加了-w會導致一些方法失效無法執行,就像作者腳本中的這個方法一樣:

我這裏腳本中用到了 subrocess.Popen()方法,我在打包的時候,如果不加-w參數,可以正常運行,但是運行exe時會彈出一個cmd命令行,導致看着用戶體驗不好,所以想打包的時候去掉 cmd命令行,不讓它彈出。於是乎將命令修改了一下,將-w參數替換成  --noconsole 這樣的話,就正確了。命令示例如下:

pyinstaller -F 冒險島登錄器.py  --noconsole

本篇文章純屬作者隨手筆記記錄一下,希望能幫助到跟我遇到同樣坑的朋友

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章