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