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

相关推荐
码农小韩2 分钟前
QT学习记录(三)——C++学习基础(三)
开发语言·c++·qt·学习·算法·嵌入式软件
buhuizhiyuci4 分钟前
【QT-百日筑基篇】找寻安静的落脚处,选择合适的功法进行修炼-QT深度了解对象树的特性
开发语言·qt
wjs20244 分钟前
jQuery Mobile 触摸事件详解
开发语言
iAm_Ike5 分钟前
JavaScript中模块化在游戏引擎开发中的资源调度作用
jvm·数据库·python
kyriewen119 分钟前
你的前端滤镜慢得像PPT?用Rust+WebAssembly,一秒处理4K图
开发语言·前端·javascript·设计模式·rust·ecmascript·powerpoint
小杍随笔10 分钟前
【Tauri 2 + Rust 配置 WebView2 缓存数据存储到安装目录】
开发语言·后端·rust·tauri
m0_7020365313 分钟前
Layui表单input框怎么设置只读或禁用
jvm·数据库·python
weixin_4597539413 分钟前
php怎么调用快手开放平台_php如何接入快手授权登录流程
jvm·数据库·python
人道领域17 分钟前
【LeetCode刷题日记】二叉树层序遍历完全指南:从基础到LeetCode实战一篇搞定BFS模板,秒杀4道经典面试题
java·开发语言·数据结构·leetcode·面试·二叉树
孬甭_20 分钟前
预处理详解
c语言·开发语言