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目录添加资源文件

相关推荐
Sylvia33.2 小时前
LOL实时数据接入深度解析:从WebSocket到完整数据模型
java·网络·python·websocket·网络协议
jyOverQ2 小时前
RabbitMQ 消息积压怎么办?Prefetch、消费者并发与扩容
分布式·后端·rabbitmq
梦想不只是梦与想2 小时前
Web 服务器网关协议:ASGI 和 WSGI
服务器·python·fastapi
ai小陈4 小时前
PyTorch DataLoader数据加载性能排查:GPU利用率低的实操指南
人工智能·pytorch·python·深度学习·ai·gpu算力
2601_962299247 小时前
Azure python操作系统列表
python·操作系统·azure·虚拟机·存储配置文件
学术 学术 Fun8 小时前
如何用 API 与 Webhook 批量把图表图片转换成 VSDX
python·自动化·api·visio
2601_962100549 小时前
python包和模块的内容整理
python·模块·导入·虚拟环境·
二进制漫游记9 小时前
FastAPI项目集成 Qdrant向量数据库+阿里云Embedding完整实战(工具封装+业务调用)
数据库·python·阿里云·embedding
东风破_9 小时前
从跨域到 WebSocket:前端跨域方案、SSE 与双向实时通信详解
前端·后端
-今昭-10 小时前
《V2V 迁移实战:将 VMware 虚拟机转为 OpenStack 可用 Glance qcow2 镜像》
开发语言·python