App下載

python 怎么實(shí)現(xiàn)在運(yùn)行的時(shí)候隱藏控制臺(tái)?

猿友 2021-07-29 09:45:29 瀏覽數(shù) (7457)
反饋

在學(xué)習(xí)python的時(shí)候控制臺(tái)是我們必不可少的工具,它是開發(fā)者和應(yīng)用的對(duì)話窗口。但用戶并不需要了解應(yīng)用的內(nèi)部情況,如果留下控制臺(tái)窗口是一件很不安全的事情,接下來這篇文章就教你python怎么打包文件以及python怎么隱藏控制臺(tái)吧!

安裝

虛擬環(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)
 

單純隱藏控制臺(tái)

將后綴.py改成.pyw

改完后,文件屬性里面可以看到:Python File (no console) (.pyw)

顯示no console,在運(yùn)行的時(shí)候就不會(huì)彈出命令窗口了。

以上就是python打包exe文件和python隱藏控制臺(tái)的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持W3Cschool


0 人點(diǎn)贊