python工程打包为一个可执行的exe文件

文章目录


背景

打包一个Python工程为一个可执行的exe文件,效果是:打包完成之后,这个exe文件在没有python环境的电脑也能运行,不需要安装额外的环境


步骤

安装 PyInstaller

需要安装 PyInstaller。可以使用 pip 来安装:

bash 复制代码
pip install pyinstaller

打包python脚本

代码如下(示例):

bash 复制代码
pyinstaller --onefile --icon=myicon.ico main.py

其中:

--icon=<icon_path>:为可执行文件指定一个图标。

--onefile:将所有文件打包成一个独立的可执行文件

生成的文件

PyInstaller 会生成一个 dist 目录,里面包含 main.exe 文件。你可以将这个 main.exe 文件复制到没有 Python 环境的电脑上运行。

只需要复制那个main.exe即可

特殊情况

PyInstaller 会自动检测并包含大部分依赖包,但有时需要手动处理一些特殊的依赖。你可以通过 --hidden-import 选项来手动指定需要的模块。

bash 复制代码
pyinstaller --onefile --hidden-import <module_name> main.py

示例

假设你的 Python 工程结构如下:

python 复制代码
my_project/
│
├── main.py
├── module1.py
└── module2.py

在 my_project 目录下运行:

bash 复制代码
pyinstaller --onefile main.py

这将在 dist 目录下生成一个 main.exe 文件。

相关推荐
我不想当小卡拉米几秒前
C++:继承+菱形虚拟继承的一箭双雕
开发语言·jvm·c++
weixin_457885823 分钟前
JavaScript智能对话机器人——企业知识库自动化
开发语言·javascript·自动化
东方佑13 分钟前
利用Python自动化处理PPT样式与结构:从提取到生成
python·自动化·powerpoint
孤独得猿26 分钟前
Qt常用控件第一部分
服务器·开发语言·qt
慕斯策划一场流浪31 分钟前
fastGPT—nextjs—mongoose—团队管理之团队列表api接口实现
开发语言·前端·javascript·fastgpt env文件配置·fastgpt团队列表接口实现·fastgpt团队切换api·fastgpt团队切换逻辑
橘猫云计算机设计37 分钟前
基于springboot的考研成绩查询系统(源码+lw+部署文档+讲解),源码可白嫖!
java·spring boot·后端·python·考研·django·毕业设计
时光呢42 分钟前
JAVA常见的 JVM 参数及其典型默认值
java·开发语言·jvm
橙橙子23043 分钟前
c++柔性数组、友元、类模版
开发语言·c++·柔性数组
超级小的大杯柠檬水1 小时前
修改Anaconda中Jupyter Notebook默认工作路径的详细图文教程(Win 11)
ide·python·jupyter
程序媛学姐1 小时前
SpringKafka错误处理:重试机制与死信队列
java·开发语言·spring·kafka