我使用pyinstaller
構建我的燒瓶應用程序, 一切工作正常,除非我遇到Jinja2模板的問題。Pyinstaller Jinja2 TemplateNotFound
它給了我jinja2.exceptions.TemplateNotFound
,
我試圖把from app import template
這是模板文件夾,但它沒有工作(我猜,因爲它們不包含任何py
文件)。
我也試圖改變.spec
文件以包括templates
文件夾
added_files = [
('..\\CommerceApp\\app\\templates', 'templates'),
('..\\CommerceApp\\app\\static', 'static')
]
a = Analysis(['..\\CommerceApp\\run.py'],
pathex=['D:\\PythonProjects\\CommerceAppExe'],
binaries=None,
datas=added_files,
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)
但是,如果我通過自己手動複製文件夾它也不能工作,同樣的結果。
有什麼辦法可以將模板與.exe捆綁在一起?
編輯
這是我spec
文件
# -*- mode: python -*-
block_cipher = None
a = Analysis(['..\\CommerceApp_withPyInstaller\\run.py'],
pathex=['D:\\PythonProjects\\CommerceAppExe'],
binaries=None,
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
exclude_binaries=True,
name='SupplyTracker',
debug=False,
strip=False,
upx=True,
console=True)
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
name='SupplyTracker')
編輯2
接受的答案改變爲gmas80
是導致它解決了這個問題。
編輯3
此外,我才意識到,我可以做一個新的文件夾我的包名稱和靜態模板css
,html
等填充,這是要去工作(從類似的結果是什麼gmas80腳本)
創建1文件夾凍結應用程序並檢查是否收集了所有的模板文件! – gmas80