大学制作网站怎么做,景区网站如何建设,python网站开发教程,广州网站建设培训学校20240803
概述
在我很早时候学习python的时候#xff0c;就利用过某个工具将其打包为exe文件#xff0c;然后在没有python环境的机器上运行#xff0c;这样可以减少安装python环境和各种库的过程。
最近在开发一个在虚拟机上运行的程序的时候就遇到了打包一些环境的问题就利用过某个工具将其打包为exe文件然后在没有python环境的机器上运行这样可以减少安装python环境和各种库的过程。
最近在开发一个在虚拟机上运行的程序的时候就遇到了打包一些环境的问题主要是由于flask这个应用的问题。
问题描述
将python文件打包成pyinstaller这个库关于这个库的具体使用方法可以直接搜索或者chatgpt就绪你刚刚。
在打包flask应用的时候因为包含一些静态文件例如html模版或者图片等此时就会报错找不到相应的文件特别是使用了jinja2这个模版库具体报错可见[1]。
在[1]中解决这个问题的方法也比较简单直接就在打包的过程中加入参数例如
pyinstaller -F a.py --add-data templates:templates \--add-data static:static \--add-data images:images \-p /usr/local/lib/python3.10/dist-packages/因为一开始搜索解决方案的时候也是结合了打包和jinja这两个关键词所以得到的答案都是这种增加参数或者修改配置文件的。但实际上这个问题并没有完全解决我的问题。
实际上我当时的想法就是我本周上就是因为一些静态文件的问题那么我可以直接把把这部分文件给独立出来所以后续直接找到了类似修改django的配置的方法具体参考[2]
app Flask(__name__,static_folder os.getcwd() /static,template_folderos.getcwd() /templates) # 创建Flask对象并自定义静态文件的路径os.getcwd() 方法是获取当前exe文件包所在的父目录路径这种方法就可以直接把路径这些的问题给搞定了。
参考
[1]ubuntu22 flask项目 pyinstaller打包后运行报错 jinja2.exceptions.TemplateNotFound: index.html 的一种解决方案 [2]Python Flask使用PyInstaller打包成单独的exe可执行文件后图片无法正常显示的问题及解决方法