问题: - 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>
37 lines
750 B
Python
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',
|
|
]
|