मैं अपने फ्लास्क एप्लिकेशन को बनाने के लिए pyinstaller
का उपयोग कर रहा हूं, सब कुछ ठीक काम कर रहा है सिवाय इसके कि मुझे Jinja2 टेम्पलेट्स के साथ समस्याएं मिलती हैं।पायइंस्टॉलर 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