我有一个烧瓶应用程序,我想转换成可执行文件

时间:2015-09-07 10:10:00

标签: flask py2exe

我有一个烧瓶应用程序,我想将其转换为可执行文件,以便在其他地方部署。我已经使用了py2exe。我收到 jinja2:TemplateNotFound错误。我已将静态模板文件夹复制到exe文件所在的 dist 文件夹中。如果我错过了什么,请告诉我。我的设置文件如下:

from distutils.core import setup
import py2exe 
import os 
from glob import glob 
import sys 
from distutils.filelist import findall 
import matplotlib 
matplotlibdatadir = matplotlib.get_data_path()  
matplotli bdata = findall(matplotlibdatadir) 
matplotlibdata_files = []
for f in matplotlibdata:     
    dirname = os.path.join('matplotlibdata', f[len(matplotlibdatadir)+1:]) 

    matplotlibdata_files.append((os.path.split(dirname)[0], [f]))  
data_files=[('static', glob("D:\\pythonLearning\\static\\*.*")), ('templates', glob("D:\\pythonLearning\\templates\\login.html"))] 
data_files.extend(matplotlibdata_files) 
print data_files 
sys.path.append('C:\\Windows\\winsxs\\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57')  

setup(     console=['myfile.py'],     
      options={  'py2exe': {    'packages' : ['matplotlib', 'pytz','werkzeug','email','jinja2.ext'], 
     'includes': ['flask','jinja2']   }     },     
data_files=data_files )

1 个答案:

答案 0 :(得分:0)

这是因为jinja希望你的鸡蛋能够通过文件路径解压缩并可用。 See了解更多信息。

您可以使用this为典型数据文件解决此问题 但jinja2没有直接的支持,你必须自己实现