Python3运行时隐藏命令窗口的方法与PyInstaller打包技巧

落日邮差
落日邮差
发布时间:2026-10-15| 4人浏览过
原创

本文介绍如何在Python运行时隐藏命令窗口。首先通过将.py后缀改为.pyw实现脚本运行时无黑框。其次,详细讲解使用PyInstaller打包exe时的参数配置,包括如何合并依赖库至单个exe文件,以及解决打包后隐藏窗口执行CMD命令报错的问题,推荐使用subprocess模块替代直接调用。

将Python脚本文件的后缀名从.py修改为.pyw。

修改后缀后,在文件属性中可以看到文件类型显示为“Python File (no console) (.pyw)”。

由于文件类型标识为no console,运行该脚本时将不会弹出黑色的命令提示符窗口。

补充说明:关于使用Python打包exe文件并隐藏执行CMD命令窗口的方法。

在虚拟环境中安装pyinstaller库。


pip install pyinstaller 

执行打包exe的命令(具体命令可参考网络资料):


# 打包1个py文件,并隐藏执行窗口
pyinstaller -F -w main.py 
# 打包1个py文件(-F),并隐藏执行窗口(-w),替换exe的ico图标(-i img.ico)
pyinstaller -F -w -i img.ico  main.py

上述打包方式会将所有依赖库以源文件形式保存在文件夹中。通常情况下,用户更希望生成一个独立的exe文件。

将文件夹中所有依赖库合并打包进一个exe文件中:


# 合并到一个exe内(--onefile),替换exe图标(--icon=img.ico),py源文件(main.py),隐藏执行(-w)
pyinstaller --onefile --icon=img.ico  main.py -w

注意事项:

当把所有依赖库打包进单个exe文件,并以隐藏CMD窗口的方式执行时,可能会出现错误导致程序无法正常运行。此时需要采用其他方法处理CMD命令的执行。


subprocess来执行CMD命令。这种方式来执行cmd命令就不会出现程序错误。
import subprocess 
cmd = '你的CMD命令'
res = subprocess.call(cmd, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
 

以上为个人经验分享,希望能给大家提供一个参考,也希望大家多多支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。