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 文件。

相关推荐
A__tao2 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
研究点啥好呢2 小时前
Github热门项目推荐 | 创建你的像素风格!
c++·python·node.js·github·开源软件
lly2024062 小时前
C 标准库 - `<stdio.h>`
开发语言
沫璃染墨2 小时前
C++ string 从入门到精通:构造、迭代器、容量接口全解析
c语言·开发语言·c++
jwn9992 小时前
Laravel6.x核心特性全解析
开发语言·php·laravel
迷藏4942 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
功德+n2 小时前
Linux下安装与配置Docker完整详细步骤
linux·运维·服务器·开发语言·docker·centos
明日清晨2 小时前
python扫码登录dy
开发语言·python
我是唐青枫2 小时前
C#.NET gRPC 深入解析:Proto 定义、流式调用与服务间通信取舍
开发语言·c#·.net
JJay.3 小时前
Kotlin 高阶函数学习指南
android·开发语言·kotlin