即开即用,封装 Flask 项目为 exe 文件实操步骤

简介: 即开即用,封装 Flask 项目为 exe 文件实操步骤

见字如面,朋友们!

嗨,这里是 AIGC 创意人_竹相左边!

正如你们所知,我正在通过 AI 自学软硬件工程师,目标是手搓一台可回收火箭玩具!


最近,我被《流浪地球 2》中马兆的那句“没有硬件支撑,你破解个屁”深深打动——硬件和软件的结合,才是硬核的灵魂!


今天,我想和大家分享一个实用技巧:如何将我的 Flask 项目封装成一个即开即用的 .exe 文件,让没有编程知识的同事也能轻松使用。

跟着我一步步操作,打造属于我们的“软件硬件之光”吧! image.png


一、为什么要封装为 .exe?

在开发 Flask 项目时,我们通常需要在 Python 环境中运行,依赖如 Flask、Pillow 等库。对于编程小白或非技术同事来说,配置环境、安装依赖简直是“天坑”。封装成 .exe 文件的好处在于:

  • 无需安装 Python:所有依赖打包到一起,双击运行即可。
  • 跨平台友好:Windows 用户直接使用(Mac/Linux 可考虑其他工具)。
  • 即开即用:就像火箭点火,启动即飞!


二、准备工作与工具

在开始之前,确认你的开发环境已准备好:

  • Python 环境:确保已安装 Python 3.x(我用的是 3.9,稳定得很!)。
  • PyInstaller:安装命令:pip install pyinstaller,这是我们封装的“火箭引擎”。
  • 项目文件:包括 app.pyroutestemplatesstaticutils 文件夹。



三、整代码以支持打包

我们需要修改 app.py,添加以下功能:

  • 检测是否以打包形式运行(PyInstaller 会在运行时设置 sys._MEIPASS)。
  • 正确设置 templatesstatic 文件夹路径。
  • 启动程序后自动打开浏览器。 image.png


四、准备打包环境

  • 确保 PyInstaller 已安装:在你的开发环境中,安装 PyInstaller:
    pip install pyinstaller
  • 生成 requirements.txt:确保所有依赖都被记录,运行以下命令生成 requirements.txt
    pip freeze > requirements.txt
  • 项目结构:确认你的项目目录结构如下:


五、使用 PyInstaller 打包

  • 进入项目目录
    cd D:\20250219\ai_work\jpg2pdf
  • 运行 PyInstaller 打包命令: 使用 --onefile 选项打包成单个 .exe 文件,同时使用 --add-data 包含 templatesstatic 文件夹。pyinstaller --onefile --add-data "templates;templates" --add-data "static;static" app.py
  • Windows 系统下,路径分隔符使用 ;
  • 打包结果: 打包完成后,dist 文件夹中会生成 app.exe image.png


六:测试打包后的 .exe

  • 将 app.exe 复制到桌面: 复制 dist\app.exe 到你的桌面或其他测试目录。
  • 双击运行 app.exe


七、小贴士与优化

  • 添加图标:用 --icon app.ico 自定义 .exe 图标。
  • 隐藏命令行:加 --noconsole 让界面更友好(但保留调试用)。
  • 问题排查:如果运行失败,检查是否有缺少的 DLL(如 VCRUNTIME140.dll),建议同事安装 Microsoft Visual C++ Redistributable。


相关文章
|
缓存 前端开发 JavaScript
flask各种版本的项目,终端命令运行方式的实现
flask各种版本的项目,终端命令运行方式的实现
576 4
|
数据可视化 API 开发者
通俗易懂:一步步教你 Flask 项目自动生成 API 文档
Flasgger,作为一款强大的 Flask 扩展,自动从 Flask 应用中提取并生成 OpenAPI 规范文档,配备 SwaggerUI,为开发者提供了一条快捷通道,让 API 的文档编制和交互式测试变得简单易行。Flasgger 的设计原则是简化开发流程,通过与 Flask 框架的无缝整合,让开发者可以更专注于应用逻辑的构建。
|
8月前
|
Python
Flask学习笔记(三):基于Flask框架上传特征值(相关数据)到服务器端并保存为txt文件
这篇博客文章是关于如何使用Flask框架上传特征值数据到服务器端,并将其保存为txt文件的教程。
105 0
Flask学习笔记(三):基于Flask框架上传特征值(相关数据)到服务器端并保存为txt文件
|
11月前
|
安全 前端开发 API
震惊!掌握Django/Flask后,我竟然轻松征服了所有Web项目难题!
【7月更文挑战第15天】Python Web开发中,Django以其全面功能见长,如ORM、模板引擎,助你驾驭复杂需求;Flask则以轻量灵活取胜,适合快速迭代。两者结合使用,无论是数据库操作、用户认证还是API开发,都能让你应对Web挑战游刃有余。掌握这两者,Web项目难题变得易如反掌!
130 10
|
11月前
|
JSON 数据格式 Python
Flask实现内部接口----pycharm安装及新建,location代表着文件路径,下面是Python的环境,Flask是由Python开发的框架,Python文件接口ython通过GET发送
Flask实现内部接口----pycharm安装及新建,location代表着文件路径,下面是Python的环境,Flask是由Python开发的框架,Python文件接口ython通过GET发送
|
10月前
|
Linux Python
【Azure 应用服务】Azure App Service For Linux 上实现 Python Flask Web Socket 项目 Http/Https
【Azure 应用服务】Azure App Service For Linux 上实现 Python Flask Web Socket 项目 Http/Https
104 0
|
11月前
|
文字识别 Java Python
文本,文识08图片保存()上,最方便在于整体生成代码,serivce及实体类,base64编码保存图片文件,调用flask实现内部ocr接口,通过paddleocr识别,解析结果,base64转图片
文本,文识08图片保存()上,最方便在于整体生成代码,serivce及实体类,base64编码保存图片文件,调用flask实现内部ocr接口,通过paddleocr识别,解析结果,base64转图片
|
数据处理 Python
Flask 项目工程目录层级划分
本文介绍了如何将 Flask 项目工程目录层级按照主题分类划分,主要包括模型层、视图层、表单层、模板文件和静态文件。通过合理地组织项目文件,可以提高项目的可读性、可维护性和可扩展性。
201 5
|
前端开发 文件存储 Python
【已解决】Flask当中render_template函数使用过程当中css文件无法正常渲染
【已解决】Flask当中render_template函数使用过程当中css文件无法正常渲染
|
前端开发 索引 Python
【已解决】Flask项目报错TypeError: tuple indices must be integers or slices, not str
【已解决】Flask项目报错TypeError: tuple indices must be integers or slices, not str