【Python】xxx.py文件打包为.exe可执行文件

打包教程

1,前提条件

需要确保已经有一个 在具备python环境的电脑上 可以运行的xxx.py文件,

打包为可执行文件的目的是 方便在没有python环境的电脑上运行该脚本

2,运行命令窗口

在这个xxx.py文件所在的文件夹里面,鼠标右键,注意不是选中文件右键,就是在文件夹空白处右键 ,点击在终端中打开(T),快捷键是鼠标右键后,按T

3,运行以下命令,确认已经具备pyinstaller工具

python 复制代码
python -m PyInstaller --version

通常情况下直接运行

python 复制代码
pyinstaller --version

也可以查询到pyinstaller版本,但是因为我的电脑上Python的Scripts目录没有在系统的PATH环境变量里。

因此直接运行pyinstaller会报错,可以通过Python解释器直接调用PyInstaller模块

确认可以正常查询到PyInstaller模块的版本,表示PyInstaller模块是正常的

然后就可以开始打包了


如果无法正常查询到版本,表示没有安装PyInstaller依赖,需要单独再安装

基础安装命令(直接从Python官方的PyPI仓库安装,适合网络连接顺畅的情况)

python 复制代码
pip install pyinstaller

使用国内镜像源(国内镜像源能显著提升下载速度。除清华源外,还有多个常用镜像)

python 复制代码
pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple/

如果某个镜像源暂时不可用,可以尝试换用其他镜像源。国内常用的镜像源包括:

清华镜像源:https://pypi.tuna.tsinghua.edu.cn/simple/

阿里云镜像源:http://mirrors.aliyun.com/pypi/simple/

豆瓣镜像源:http://pypi.douban.com/simple/

中国科学技术大学镜像源:https://pypi.mirrors.ustc.edu.cn/simple/


4,运行以下打包命令

python 复制代码
python -m PyInstaller --onefile main.py

通常情况下,直接运行

python 复制代码
pyinstaller main.py

也可以,但是由于我的电脑上没有环境变量,因此需要使用第一种打包命令

5,开始打包

6,打包成功

7,打包好的可执行文件就在 dist文件夹中

常用打包选项

PyInstaller提供了许多参数来定制打包过程,以下是一些最常用的选项,可以让你的可执行文件更便于分发和使用

你可以根据需要组合这些选项。例如,要生成一个名为"MyApp"、没有控制台窗口的独立exe文件,可以这样写:

python 复制代码
pyinstaller --onefile --noconsole --name MyApp main.py

python 复制代码
python -m pyinstaller --onefile --noconsole --name MyApp main.py

如果程序运行时提示找不到某些模块(如 missing_module),可能是因为PyInstaller没有自动分析到这些依赖。这时可以使用 --hidden-import参数手动指定,例如:

python 复制代码
pyinstaller --hidden-import=missing_module --onefile main.py

python 复制代码
python -m pyinstaller --hidden-import=missing_module --onefile main.py
相关推荐
默_笙2 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
qq_426003962 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫2 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技2 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读2 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
只睡四小时2 天前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
C语言小火车2 天前
C/C++ 为什么需要编译器?
开发语言·c++
奇思妙想聪明勤奋的小羊2 天前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
lpfasd1232 天前
2026年第38周GitHub趋势周报
python·科技·github