- Re-ajoute --nofollow-import-to pour tous les packages externes lourds (onnxruntime, numpy, transformers, PIL, fitz, pdfplumber, etc.) - Ajoute --no-deployment-flag=excluded-module-usage pour autoriser leur import à l'exécution - Nouvelle étape : pip install --target=dist pour copier les packages Python directement dans le dossier de distribution - Nuitka ne compile en C que nos 4 modules + stdlib + tkinter - Les packages externes restent en bytecode Python natif (fiable) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
78 lines
2.8 KiB
Batchfile
78 lines
2.8 KiB
Batchfile
@echo off
|
|
REM ============================================================
|
|
REM build_windows.bat — Compile Pseudonymisation GUI v5
|
|
REM avec Nuitka (Python -> C -> .exe natif Windows)
|
|
REM ============================================================
|
|
REM Prerequis :
|
|
REM - Python 3.10+ installe et dans le PATH
|
|
REM - pip install nuitka zstandard
|
|
REM - pip install -r requirements.txt
|
|
REM - Visual Studio Build Tools (ou MinGW64)
|
|
REM ============================================================
|
|
|
|
setlocal
|
|
set APP_NAME=Pseudonymisation
|
|
set ENTRY=Pseudonymisation_Gui_V5.py
|
|
set DIST_DIR=build\Pseudonymisation_Gui_V5.dist
|
|
set MODEL_ID=cmarkea/distilcamembert-base-ner
|
|
|
|
echo [build] Verification de Python...
|
|
python --version || (echo Python introuvable & exit /b 1)
|
|
|
|
echo [build] Installation de Nuitka si absent...
|
|
pip install nuitka zstandard 2>nul
|
|
|
|
echo [build] Telechargement du modele NER si absent...
|
|
python -c "from ner_manager_onnx import NerModelManager; m=NerModelManager(cache_dir='models'); m.load('%MODEL_ID%'); print('Modele OK'); m.unload()"
|
|
|
|
echo [build] Compilation avec Nuitka (cela peut prendre 10-20 min)...
|
|
python -m nuitka ^
|
|
--standalone ^
|
|
--enable-plugin=tk-inter ^
|
|
--include-module=anonymizer_core_refactored_onnx ^
|
|
--include-module=ner_manager_onnx ^
|
|
--include-module=eds_pseudo_manager ^
|
|
--include-data-dir=config=config ^
|
|
--include-data-dir=models=models ^
|
|
--nofollow-import-to=onnxruntime ^
|
|
--nofollow-import-to=numpy ^
|
|
--nofollow-import-to=transformers ^
|
|
--nofollow-import-to=optimum ^
|
|
--nofollow-import-to=tokenizers ^
|
|
--nofollow-import-to=sentencepiece ^
|
|
--nofollow-import-to=torch ^
|
|
--nofollow-import-to=PIL ^
|
|
--nofollow-import-to=pdfplumber ^
|
|
--nofollow-import-to=pdfminer ^
|
|
--nofollow-import-to=fitz ^
|
|
--nofollow-import-to=pymupdf ^
|
|
--nofollow-import-to=yaml ^
|
|
--nofollow-import-to=huggingface_hub ^
|
|
--nofollow-import-to=safetensors ^
|
|
--nofollow-import-to=regex ^
|
|
--nofollow-import-to=tqdm ^
|
|
--nofollow-import-to=requests ^
|
|
--nofollow-import-to=filelock ^
|
|
--nofollow-import-to=packaging ^
|
|
--no-deployment-flag=excluded-module-usage ^
|
|
--windows-console-mode=disable ^
|
|
--output-dir=build ^
|
|
--company-name="Hopital" ^
|
|
--product-name="Pseudonymisation de PDF" ^
|
|
--product-version=5.0.0 ^
|
|
--file-description="Pseudonymisation automatique de documents PDF" ^
|
|
--assume-yes-for-downloads ^
|
|
%ENTRY%
|
|
|
|
if %ERRORLEVEL% NEQ 0 (
|
|
echo [build] ERREUR : la compilation a echoue.
|
|
exit /b 1
|
|
)
|
|
|
|
echo [build] Copie des packages Python dans le dossier dist...
|
|
pip install --target="%DIST_DIR%" -r requirements.txt --no-warn-script-location
|
|
|
|
echo [build] OK — Dossier cree : %DIST_DIR%\
|
|
echo [build] Le modele NER est embarque. Aucun telechargement necessaire.
|
|
endlocal
|