Python脚本生成exe的实用指南

 更新时间:2026年04月21日 09:20:33   作者:今晚务必早点睡  
本文介绍了使用PyInstaller将Python脚本打包成.exe文件的简单方法,并提供了从准备工作到具体命令的一系列指导,包括如何安装PyInstaller、基础打包命令、修改输出目录、改变.exe文件名、隐藏黑窗口等实用技巧,需要的朋友可以参考下

在日常工作中,我们经常会遇到这样的需求:

  • 写了一个 Python 脚本,想给同事用
  • 对方电脑没有 Python 环境
  • 不想教对方装 Python、装依赖
  • 希望直接给一个 .exe,双击就能跑

这篇文章不讲复杂原理、不搞工程化配置,只讲“怎么最简单地把 Python 脚本打成 exe”

一、先说结论:用 PyInstaller 就够了

目前最简单、最成熟、使用最多的方案是 PyInstaller

它的特点是:

  • 使用简单
  • 命令直观
  • 对新手友好
  • 适合内部工具、小脚本、自动化程序

本文所有示例,全部基于 PyInstaller。

二、准备工作(只做一次)

确保你有 Python 环境(Windows)

在命令行中执行:

python --version

如果能看到版本号,说明 Python 已安装。

安装 PyInstaller

pip install pyinstaller

安装完成后验证:

pyinstaller --version

三、最简单的打包方式(一条命令)

假设你的脚本文件是:

main.py

最基础的打包命令

pyinstaller -F main.py

解释:

  • -F:打包成单个 exe 文件
  • main.py:你要打包的脚本

打包完成后,会生成:

dist/main.exe

拿走 main.exe 就可以使用了。

四、打包后你会看到哪些文件?(不用慌)

第一次打包时,当前目录会出现:

build/
dist/
main.spec

只需要关心

dist/main.exe

其他文件:

  • build/:中间构建文件
  • *.spec:配置文件(简单打包可以忽略)

五、一个更实用的打包命令(推荐)

在实际使用中,很多人不想每次去 dist/ 目录里找 exe。

先cd到脚本同级目录下:

pyinstaller --onefile --distpath D:\release main.py

这条命令是做什么的?

一句话说明:

main.py 打包成一个 exe,并直接输出到 D:\release 目录

打包完成后:

D:\release\main.exe

参数解释(非常简单)

--onefile

  • 等价于 -F
  • 表示打包成一个 exe 文件

--distpath D:\release

  • 指定 exe 的输出目录
  • 不使用默认的 dist/ 目录

main.py

  • 要打包的 Python 脚本

为什么这个命令很实用?

  • 打完包,exe 直接就能拿走
  • 不用关心 dist/build/
  • 非常适合内网、脚本化、一次性 交付

六、改个 exe 名字(很常见)

如果你不想生成 main.exe,可以这样:

pyinstaller -F -n MyTool main.py

生成:

dist/MyTool.exe

配合 --distpath

pyinstaller -F -n MyTool --distpath D:\release main.py

七、不想弹黑窗口(可选)

如果你的脚本是:

  • GUI 程序(Tkinter / PyQt)
  • 自动化脚本
  • 不需要命令行输出

可以隐藏黑窗口:

pyinstaller -F -w main.py

说明:

  • -w / --noconsole:不显示控制台窗口

如果你的脚本靠 print() 看日志,不建议加 -w

八、一个“够用就好”的通用命令模板

推荐直接用下面这条

pyinstaller -F -n MyTool --distpath D:\release main.py

如果不想要黑窗口:

pyinstaller -F -w -n MyTool --distpath D:\release main.py

到此这篇关于Python脚本生成exe的实用指南的文章就介绍到这了,更多相关Python脚本生成exe内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python展开嵌套列表的多种方法

    python展开嵌套列表的多种方法

    本文主要介绍了python展开嵌套列表的多种方法,包括for循环、列表推导式和sum函数三种方法,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • Python使用translate库实现多语种互相翻译

    Python使用translate库实现多语种互相翻译

    文章介绍Python的translate库,支持40+语言互译,可指定全称或代码进行翻译,能处理文本文件,自动分割超500字符行并逐段翻译,结果保存至新文件,需先通过pip安装,用户需提供文件路径并检查存在性,翻译成功后显示结果文件路径
    2025-07-07
  • Python中等待5秒并暂停执行的方法总结

    Python中等待5秒并暂停执行的方法总结

    Python 具有各种功能和库来创建交互式应用程序,用户可以在其中提供输入和响应, 我们可以创建需要暂停应用程序执行的情况,本文主要和大家分享三个Python 中等待 5 秒并暂停执行的方法,有需要的可以参考下
    2023-10-10
  • python中logger包的详细使用教程(附实例代码)

    python中logger包的详细使用教程(附实例代码)

    Python logging模块是标准库日志工具,支持多级别、多目标、多格式日志管理,这篇文章主要介绍了python中logger包详细使用的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-05-05
  • 关于pandas的read_csv方法使用解读

    关于pandas的read_csv方法使用解读

    这篇文章主要介绍了关于pandas的read_csv方法使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • 解决Python对齐文本字符串问题

    解决Python对齐文本字符串问题

    这篇文章主要介绍了解决Python对齐文本字符串问题,需要的朋友可以参考下
    2019-08-08
  • 开源软件包和环境管理系统Anaconda的安装使用

    开源软件包和环境管理系统Anaconda的安装使用

    Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。
    2017-09-09
  • Python实现从log日志中提取ip的方法【正则提取】

    Python实现从log日志中提取ip的方法【正则提取】

    这篇文章主要介绍了Python实现从log日志中提取ip的方法,涉及Python文件读取、数据遍历、正则匹配等相关操作技巧,需要的朋友可以参考下
    2018-03-03
  • CodeWhisperer基于python使用经验分享

    CodeWhisperer基于python使用经验分享

    这篇文章主要为大家介绍了CodeWhisperer基于python使用经验分享,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • pyqt5中QThread在使用时出现重复emit的实例

    pyqt5中QThread在使用时出现重复emit的实例

    今天小编就为大家分享一篇pyqt5中QThread在使用时出现重复emit的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06

最新评论