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>
This commit is contained in:
16
build.bat
16
build.bat
@@ -43,12 +43,16 @@ if exist dist rmdir /s /q dist
|
||||
|
||||
echo.
|
||||
echo 4/5. Building executable...
|
||||
echo NOTE: Using custom hooks to exclude heavy ML libraries that cause Python 3.13 issues
|
||||
echo These will be installed dynamically at runtime if needed
|
||||
python -m PyInstaller ^
|
||||
--noconfirm ^
|
||||
--name "CutThenThink" ^
|
||||
--windowed ^
|
||||
--onefile ^
|
||||
--add-data "src:src" ^
|
||||
--runtime-hook=pyi_hooks/pyi_rth_ignore_torch.py ^
|
||||
--additional-hooks-dir=pyi_hooks ^
|
||||
--hidden-import=PyQt6.QtCore ^
|
||||
--hidden-import=PyQt6.QtGui ^
|
||||
--hidden-import=PyQt6.QtWidgets ^
|
||||
@@ -67,6 +71,18 @@ python -m PyInstaller ^
|
||||
--hidden-import=yaml ^
|
||||
--hidden-import=requests ^
|
||||
--collect-all pyqt6 ^
|
||||
--exclude-module=torch ^
|
||||
--exclude-module=transformers ^
|
||||
--exclude-module=tensorflow ^
|
||||
--exclude-module=onnx ^
|
||||
--exclude-module=onnxruntime ^
|
||||
--exclude-module=sentencepiece ^
|
||||
--exclude-module=tokenizers ^
|
||||
--exclude-module=diffusers ^
|
||||
--exclude-module=accelerate ^
|
||||
--exclude-module=datasets ^
|
||||
--exclude-module=huggingface_hub ^
|
||||
--exclude-module=safetensors ^
|
||||
src/main.py
|
||||
|
||||
if errorlevel 1 (
|
||||
|
||||
Reference in New Issue
Block a user