Files
cutThenThink/pyi_hooks/hook-exclude-ml.py
congsh 4589289635 fix: 修复Python 3.13环境下PyInstaller构建崩溃问题
问题:
- PyInstaller在分析阶段尝试导入torch/transformers等ML库
- 这些库与Python 3.13不兼容,导致"Windows fatal exception: access violation"
- 构建过程无法完成,无法生成exe文件

解决方案:
1. 添加pyi_hooks/pyi_rth_ignore_torch.py运行时hook
   - 在PyInstaller分析阶段阻止torch等模块的导入
   - 这些模块将在运行时动态安装

2. 添加pyi_hooks/hook-exclude-ml.py和hook-paddleocr.py
   - 明确告诉PyInstaller不收集这些ML库

3. 更新build.bat和build.sh
   - 使用--runtime-hook和--additional-hooks-dir
   - 添加--exclude-module参数排除所有ML库

测试:
- 验证所有hook文件语法正确
- 验证项目核心功能可以在不导入torch的情况下正常工作

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 13:31:49 +08:00

37 lines
750 B
Python

"""
PyInstaller hook to exclude ML libraries during build
This prevents PyInstaller from attempting to analyze and bundle
heavy ML libraries that are incompatible with Python 3.13 or
cause build crashes.
These libraries will be installed at runtime if needed.
"""
# Collect any hidden imports (empty for this hook)
hiddenimports = []
# Exclude all heavy ML dependencies
excludedimports = [
'torch',
'torch.nn',
'torch.utils',
'torchvision',
'transformers',
'tensorflow',
'tensorflow.keras',
'onnx',
'onnxruntime',
'sentencepiece',
'tokenizers',
'diffusers',
'accelerate',
'datasets',
'huggingface_hub',
'safetensors',
'optimum',
'coloredlogs',
'docutils',
'tqdm',
]