修改打包文件

This commit is contained in:
xunbu
2025-08-21 16:14:50 +08:00
parent c4fbbc2fb4
commit 79273f0ed1
5 changed files with 151 additions and 121 deletions

View File

@@ -1,19 +1,42 @@
# -*- mode: python ; coding: utf-8 -*-
import os
from PyInstaller.utils.hooks import collect_all
datas = [('./.venv/Lib/site-packages/docling_parse/pdf_resources_v2', 'docling_parse/pdf_resources_v2'),
('./docutranslate/static', 'docutranslate/static'),('./docutranslate/template', 'docutranslate/template')]
import docutranslate
# 初始化列表
datas = []
binaries = []
hiddenimports=['markdown.extensions.tables','pymdownx.arithmatex','pymdownx.superfences','pymdownx.highlight','pygments']
for i in ['easyocr','docling','pygments']:
tmp_ret = collect_all(i)
datas += tmp_ret[0]; binaries += tmp_ret[1]; hiddenimports += tmp_ret[2]
hiddenimports = ['markdown.extensions.tables', 'pymdownx.arithmatex',
'pymdownx.superfences', 'pymdownx.highlight', 'pygments']
# 先收集第三方包的资源
for package in ['easyocr', 'docling', 'pygments']:
try:
tmp_ret = collect_all(package)
datas += tmp_ret[0]
binaries += tmp_ret[1]
hiddenimports += tmp_ret[2]
except Exception as e:
print(f"Warning: Failed to collect resources for {package}: {e}")
# 然后添加您的自定义资源(避免重复)
custom_datas = [
('./.venv/Lib/site-packages/docling_parse/pdf_resources_v2', 'docling_parse/pdf_resources_v2'),
('./docutranslate/static', 'docutranslate/static'),
('./docutranslate/template', 'docutranslate/template')
]
# 避免添加重复的数据
for data in custom_datas:
if data not in datas:
datas.append(data)
a = Analysis(
['docutranslate\\app.py'],
pathex=[],
['docutranslate/app.py'], # 使用正斜杠
pathex=[], # 添加当前工作目录到 pathex
binaries=binaries,
datas=datas,
hiddenimports=hiddenimports,
hiddenimports=list(set(hiddenimports)), # 去重
hookspath=[],
hooksconfig={},
runtime_hooks=[],
@@ -29,7 +52,7 @@ exe = EXE(
a.binaries,
a.datas,
[],
name='DocuTranslate_full',
name=f'DocuTranslate_full-{docutranslate.__version__}-win',
debug=False,
bootloader_ignore_signals=False,
strip=False,
@@ -42,5 +65,5 @@ exe = EXE(
target_arch=None,
codesign_identity=None,
entitlements_file=None,
icon=['DocuTranslate.ico'],
)
icon='DocuTranslate.ico',
)