《PyInstaller打包实战指南》第十七节 单文件模式打包Flask

本文是《PyInstaller打包实战指南》的第十七节,介绍如何以单文件模式打包Flask项目。通过创建run_app.py来避免模板文件找不到的问题,将静态文件和模板文件夹压缩为res.zip,利用运行钩子extract_res.py在运行时解压。详细步骤包括设置版本信息,打包命令,以及注意事项,提供打包示例源码下载。
摘要由CSDN通过智能技术生成

第十七节 单文件模式打包Flask

打包示例源码下载:

请看文章末尾

 

版本信息:

flask==1.1.1

requests==2.22.0

bs4==0.0.1

pyinstaller==3.5

 

打包系统:

Windows10

 

为了让读者更好理解如何打包Flask项目,笔者这里所编写的项目结构非常简单,如下图所示:

大家可能会有疑惑,为什么要多一个run_app.py来专门运行flask项目?我们知道,templates文件夹必须和app.py同目录(准确来说是和包含程序实例的模块同目录),不然就会报jinja2.exceptions.TemplateNotFound错误,所以假如我们直接打包app.py,然后添加static文件夹和templates文件夹作为资源,那么从app.py打包过来的可执行文件是不会和templates模板文件夹以及static文件夹在同一目录的。这也就是为什么笔者这里新建了一个run_app.py来打包。

 

static文件夹中有css和js文件,还有一个ico格式的图标。如果我们使用--add-data命令一个个来添加资源的话,那会比较繁琐,所以我们最好还是将static文件夹和templates

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
使用pyinstaller打包整个项目文件模式打包可以通过以下步骤实现: 1. 确保已经安装了pyinstaller库。可以使用pip install pyinstaller命令进行安装。 2. 在命令行中进入项目所在的目录。 3. 使用以下命令进行打包pyinstaller -F bird.py 其中,bird.py是项目中的主文件。 4. 打包完成后,在dist文件夹中会生成一个可执行的exe文件,这个文件包含了整个项目的代码和依赖文件。 5. 如果项目中有其他资源文件(例如images文件夹中的png文件),这些文件会自动被打包到exe文件中。 6. 将生成的exe文件发送给其他人即可,无需额外发送dist文件夹。 请注意,文件模式打包会将所有依赖文件打包到exe文件中,这可能会导致exe文件较大。另外,打包过程中可能会遇到一些依赖问题,需要根据具体情况进行解决。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [详解Python文件pyinstaller打包](https://blog.csdn.net/qq_55788328/article/details/128978510)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [用Pyinstaller打包Scrapy项目例子](https://download.csdn.net/download/la_vie_est_belle/10198706)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

la_vie_est_belle

谢谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值