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

第十七节 单文件模式打包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文件进行压缩,然后用运行钩子(runtime hook)来进行解压。

首先将两个文件夹压缩为res.zip文件:

猜你喜欢

转载自blog.csdn.net/La_vie_est_belle/article/details/95978397
今日推荐