用pyinstaller -F 打包含pyecharts库的py文件成exe文件时报错jinja2.exceptions.TemplateNotFound: template.html怎么解决
出现原因
正如报错信息所说,因为使用pyinstaller -F命令打包成一个简单的exe的过程中,丢失了template依赖,所以造成了使用部分功能时会产生jinja2.exceptions.TemplateNotFound的报错。虽然exe文件仍然能打开,但是执行到使用pyecharts库的部分时,会有报错信息。
解决办法
尝试了几种办法,也走了不少弯路,最后我发现有文章说pyecharts库和pyinstaller方法有一些不兼容的地方。需要换一种打包方式。在terminal里调整路径到.py文件所在文件夹后,输入
pyinstaller -D -p d:\**** subject.py
其中-p后是文件中导入包的site-packages路径。
在subject.py目录下的dist文件夹中,找到项目文件夹。把venv\lib\site-packages路径下的pyecharts文件夹完整地拷贝进入打包的项目文件夹中。再点击项目文件夹中的exe运行,问题解决。