Flask项目打包为exe(附带项目资源,静态文件)

1.在项目根目录创建my_app.spec文件,内容如下:

python 复制代码
# -*- mode: python ; coding: utf-8 -*-


block_cipher = None


a = Analysis(
    ['server.py'], # flask入口
    pathex=[],
    binaries=[],    
    datas=[("E:/**/templates","/templates"),("E:/**/static","/static")],# 将资源的绝对路径转换为你打包的exe的相对路径
    hiddenimports=[],
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    win_no_prefer_redirects=False,
    win_private_assemblies=False,
    cipher=block_cipher,
    noarchive=False,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)

exe = EXE(
    pyz,
    a.scripts,
    a.binaries,
    a.zipfiles,
    a.datas,
    [],
    name='my_flask_app', #名字自己定
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    upx_exclude=[],
    runtime_tmpdir=None,
    console=True,
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None,
    icon=['server.ico'], # 程序图标
)

2.开始打包

运行以下命令来使用PyInstaller根据my_app.spec文件打包flask应用程序:

python 复制代码
pyinstaller my_app.spec

3.在dist目录添加资源文件

相关推荐
不是万能的豆学长13 小时前
filetidy 文件整理助手:一键归类 + 规范重命名(Python 零依赖单文件工具)
大数据·开发语言·python·技术美术
gCode Teacher 格码致知14 小时前
Pandas教学-18:number与numeric的区别
python·pandas
梦想不只是梦与想17 小时前
Python 中subprocess 模块:执行外部命令
python·subprocess·调用外部命令
懂点Tech17 小时前
ctfshow MISC入门图片篇(信息附加):misc41解题思路
开发语言·python
金銀銅鐵18 小时前
[Java] 用 GUI 展示 EnumSet 增减元素时的内部变化(上)
java·后端·ai编程
念何架构之路18 小时前
go-grpc设计思想
开发语言·后端·golang
system_error_x19 小时前
SpringBoot 集成 Thymeleaf 简洁入门
java·spring boot·后端
步行cgn21 小时前
Spring MVC 视图机制的核心接口与类
java·开发语言·后端·spring·mvc
码事漫谈21 小时前
AI 读你的提示词,其实很没耐心
后端
爱上纯净的蓝天1 天前
不用云做 RAG:一个本地笔记问答工具的取舍与坑
python·开源·大模型·rag·本地部署