Tôi đang sử dụng pyinstaller
để xây dựng ứng dụng bình của mình, mọi thứ đều hoạt động tốt ngoại trừ tôi gặp vấn đề với mẫu Jinja2.Pyinstaller Jinja2 TemplateNotFound
Nó đã cho tôi jinja2.exceptions.TemplateNotFound
,
Tôi cố gắng để đưa from app import template
đó là thư mục mẫu, nhưng nó đã không làm việc (tôi đoán vì chúng không chứa bất kỳ tập tin py
).
Tôi cũng đã cố gắng thay đổi các tập tin .spec
để bao gồm các thư mục 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)
Nhưng nó đã không làm việc một trong hai, kết quả tương tự như thể tôi sao chép các thư mục bằng tay bởi bản thân mình.
Có cách nào để bao gồm Mẫu được đóng gói cùng với .exe không?
Sửa
Đây là spec
tập tin của tôi
# -*- 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')
Chỉnh sửa 2
Được chấp nhận trả lời thay đổi để gmas80
được gây ra sự cố.
Sửa 3
Ngoài ra tôi chỉ nhận ra, tôi chỉ có thể làm cho một thư mục mới với tên gói của tôi và điền thông tin vào mẫu tĩnh css
, html
, vv, và nó là gonna làm việc (kết quả tương tự với những gì gmas80 script does)
Tạo 1 thư mục ứng dụng đã đóng băng và kiểm tra xem tất cả các tệp mẫu đã được thu thập chưa! – gmas80