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

相关推荐
吴声子夜歌11 小时前
ES6——对象的扩展详解
开发语言·javascript·es6
徐先生 @_@|||11 小时前
基于Translation插件实现在pycharm本地翻译并阅读英文资料
ide·python·pycharm
aq553560011 小时前
编程语言对比:从汇编到PHP的四大层级解析
开发语言·汇编·php
kyle~11 小时前
工程数学---Eigen库(C++唯一标配线性代数库)
开发语言·c++·线性代数
xcbrand11 小时前
文旅行业品牌策划公司找哪家
大数据·运维·人工智能·python
CoderCodingNo11 小时前
【GESP】C++五、六级练习题 luogu-P1886 【模板】单调队列 / 滑动窗口
开发语言·c++·算法
好家伙VCC12 小时前
**发散创新:基于Rust的轻量级权限管理库设计与开源许可证实践**在现代分布式系统中,**权限控制(RBAC
java·开发语言·python·rust·开源
xiaoshuaishuai812 小时前
C# 方言识别
开发语言·windows·c#
John.Lewis12 小时前
C++进阶(6)C++11(2)
开发语言·c++·笔记
@atweiwei12 小时前
用 Rust 构建agent的 LLM 应用的高性能框架
开发语言·后端·rust·langchain·eclipse·llm·agent