feat(cli): charger les moteurs optionnels depuis les modeles embarques
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
from PyInstaller.utils.hooks import collect_all, copy_metadata
|
||||
|
||||
# Spec CLI frozen — EXE de PRODUCTION (anonymisation fichier unique sans GUI).
|
||||
# Même moteur / mêmes datas que anonymisation_onefile.spec, mais :
|
||||
# - entrypoint = scripts/anonymize_cli.py (CLI production, pas launcher.py)
|
||||
@@ -22,6 +24,7 @@ def _data_entry(relative_path: str, target_dir: str | None = None):
|
||||
return (str(src), target_dir or relative_path)
|
||||
|
||||
|
||||
binaries = []
|
||||
datas = []
|
||||
for relative_path, target_dir in [
|
||||
("config", "config"),
|
||||
@@ -95,9 +98,41 @@ hiddenimports = [
|
||||
]
|
||||
|
||||
|
||||
def _collect_optional_package(package_name: str):
|
||||
try:
|
||||
package_datas, package_binaries, package_hiddenimports = collect_all(package_name)
|
||||
datas.extend(package_datas)
|
||||
binaries.extend(package_binaries)
|
||||
hiddenimports.extend(package_hiddenimports)
|
||||
try:
|
||||
datas.extend(copy_metadata(package_name, recursive=True))
|
||||
except Exception:
|
||||
pass
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
||||
for _package_name in [
|
||||
"edsnlp",
|
||||
"spacy",
|
||||
"thinc",
|
||||
"blis",
|
||||
"srsly",
|
||||
"catalogue",
|
||||
"confection",
|
||||
"cymem",
|
||||
"preshed",
|
||||
"murmurhash",
|
||||
"gliner",
|
||||
"loguru",
|
||||
]:
|
||||
_collect_optional_package(_package_name)
|
||||
|
||||
|
||||
a = Analysis(
|
||||
[str(project_dir / "scripts" / "anonymize_cli.py")],
|
||||
pathex=[str(project_dir)],
|
||||
binaries=binaries,
|
||||
datas=datas,
|
||||
hiddenimports=hiddenimports,
|
||||
cipher=block_cipher,
|
||||
|
||||
Reference in New Issue
Block a user