Update Dockerfile.analyzer
This commit is contained in:
@@ -3,23 +3,34 @@
|
|||||||
# Utiliser l'image depuis le registre de Microsoft (MCR)
|
# Utiliser l'image depuis le registre de Microsoft (MCR)
|
||||||
FROM mcr.microsoft.com/presidio-analyzer:latest
|
FROM mcr.microsoft.com/presidio-analyzer:latest
|
||||||
|
|
||||||
# Changer l'utilisateur pour 'root' afin d'avoir les permissions d'installer des paquets
|
# Définir l'URL et la version du modèle pour une maintenance facile
|
||||||
USER root
|
ARG SPACY_MODEL_URL="https://github.com/explosion/spacy-models/releases/download/fr_core_news_sm-3.7.0/fr_core_news_sm-3.7.0-py3-none-any.whl"
|
||||||
|
ARG SPACY_MODEL_NAME="fr_core_news_sm"
|
||||||
|
|
||||||
# Mettre à jour les paquets et installer les outils de construction essentiels
|
# Utiliser pip pour installer directement le modèle depuis son URL.
|
||||||
# - build-essential : contient des outils comme gcc, make, etc.
|
# pip est souvent plus verbeux et donnera de meilleures erreurs.
|
||||||
# - python3-dev : contient les fichiers d'en-tête pour compiler des extensions Python.
|
RUN pip install ${SPACY_MODEL_URL}
|
||||||
# --no-install-recommends est une bonne pratique pour garder l'image légère.
|
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
||||||
build-essential \
|
|
||||||
python3-dev \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
# Revenir à l'utilisateur par défaut de l'image (bonne pratique de sécurité)
|
# Créer un lien symbolique pour que spaCy puisse trouver le modèle sous son nom court.
|
||||||
# L'utilisateur par défaut dans beaucoup d'images est 'app' ou un non-root.
|
# C'est une étape que "spacy download" fait automatiquement.
|
||||||
# Si cela cause un problème, on peut essayer de l'enlever, mais c'est mieux avec.
|
# La bibliothèque spaCy est dans /usr/local/lib/pythonX.Y/site-packages
|
||||||
# On va commenter cette ligne pour l'instant pour plus de simplicité, on la remettra si besoin.
|
# Le nom du répertoire python peut varier, mais cette commande devrait le trouver.
|
||||||
# USER 1001
|
RUN python -c "import spacy; spacy.cli.link('${SPACY_MODEL_URL##*/}', '${SPACY_MODEL_NAME}', force=True, model_path=spacy.util.get_package_path('${SPACY_MODEL_NAME}'))"
|
||||||
|
|
||||||
# Maintenant, installer le modèle de langue français de spaCy
|
# L'étape ci-dessus est complexe. Essayons une version plus simple en premier.
|
||||||
RUN python -m spacy download fr_core_news_sm
|
# La plupart du temps, un simple "pip install" suffit.
|
||||||
|
# Commençons donc par la version la plus simple :
|
||||||
|
|
||||||
|
# --- DEBUT DU FICHIER A TESTER ---
|
||||||
|
# Fichier : Dockerfile.analyzer (Version simplifiée pour le test)
|
||||||
|
|
||||||
|
# Utiliser l'image depuis le registre de Microsoft (MCR)
|
||||||
|
FROM mcr.microsoft.com/presidio-analyzer:latest
|
||||||
|
|
||||||
|
# Définir l'URL du modèle à installer
|
||||||
|
ARG SPACY_MODEL_URL="https://github.com/explosion/spacy-models/releases/download/fr_core_news_sm-3.7.0/fr_core_news_sm-3.7.0-py3-none-any.whl"
|
||||||
|
|
||||||
|
# Simplement utiliser pip pour installer le modèle. C'est l'étape la plus importante.
|
||||||
|
# On ajoute --no-cache-dir pour éviter les problèmes de cache dans Docker.
|
||||||
|
RUN pip install --no-cache-dir ${SPACY_MODEL_URL}
|
||||||
|
# --- FIN DU FICHIER A TESTER ---
|
||||||
|
|||||||
Reference in New Issue
Block a user