在學(xué)習(xí)python的時候控制臺是我們必不可少的工具,它是開發(fā)者和應(yīng)用的對話窗口。但用戶并不需要了解應(yīng)用的內(nèi)部情況,如果留下控制臺窗口是一件很不安全的事情,接下來這篇文章就教你python怎么打包文件以及python怎么隱藏控制臺吧!
安裝
虛擬環(huán)境安裝 pyinstaller
pip install pyinstaller
打包exe命令:(具體的命令網(wǎng)上資料很多)
# 打包1個py文件,并隱藏執(zhí)行窗口 pyinstaller -F -w main.py # 打包1個py文件(-F),并隱藏執(zhí)行窗口(-w),替換exe的ico圖標(biāo)(-i img.ico) pyinstaller -F -w -i img.ico main.py
以上的這種打包方式會將各種依賴庫都以源文件方式保存到文件夾中,大部分時候我們還是希望只有一個exe文件
將文件夾中所有依賴庫都打包進(jìn)exe內(nèi):
# 合并到一個exe內(nèi)(--onefile),替換exe圖標(biāo)(--icon=img.ico),py源文件(main.py),隱藏執(zhí)行(-w) pyinstaller --onefile --icon=img.ico main.py -w
注意:
當(dāng)把所有依賴庫都打包進(jìn)一個exe以后,且以隱藏CMD窗口方式執(zhí)行時會出現(xiàn)錯誤,導(dǎo)致程序無法正常運(yùn)行,所以需要用到
subprocess來執(zhí)行CMD命令。這種方式來執(zhí)行cmd命令就不會出現(xiàn)程序錯誤。 import subprocess cmd = '你的CMD命令' res = subprocess.call(cmd, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
單純隱藏控制臺
將后綴.py改成.pyw
改完后,文件屬性里面可以看到:Python File (no console) (.pyw)
顯示no console,在運(yùn)行的時候就不會彈出命令窗口了。
以上就是python打包exe文件和python隱藏控制臺的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持W3Cschool。