ASI-Engineer commited on
Commit
3698022
·
verified ·
1 Parent(s): d5da2cf

Upload folder using huggingface_hub

Browse files
Files changed (1) hide show
  1. HF_TROUBLESHOOTING.md +137 -0
HF_TROUBLESHOOTING.md ADDED
@@ -0,0 +1,137 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 🔧 Guide de Dépannage - HuggingFace Spaces
2
+
3
+ ## Erreur : "No module named 'slowapi'"
4
+
5
+ ### Cause
6
+ FastAPI n'a pas pu démarrer parce que la dépendance `slowapi` n'a pas été installée lors du build Docker.
7
+
8
+ ### Raisons possibles
9
+ 1. **Cache de dépendances** - HF Spaces a peut-être mis en cache une ancienne version
10
+ 2. **Installation incomplète** - Poetry n'a pas installé toutes les dépendances
11
+ 3. **Timeout lors du build** - Le build a peut-être expiré
12
+
13
+ ### Solutions (dans l'ordre)
14
+
15
+ #### ✅ **Solution 1 : Factory Reboot (Recommandé)**
16
+
17
+ 1. Allez sur votre HF Space : https://huggingface.co/spaces/votre-username/oc-p5-dev
18
+ 2. Cliquez sur **Settings** (⚙️)
19
+ 3. Scrollez jusqu'à **"Reboot"**
20
+ 4. Cliquez sur **"Factory reboot"**
21
+ 5. Attendez 3-5 minutes que le Space se reconstruise
22
+
23
+ Cela efface le cache et force HF à télécharger toutes les dépendances depuis zéro.
24
+
25
+ #### ✅ **Solution 2 : Vérifier que poetry.lock est à jour**
26
+
27
+ Localement :
28
+ ```bash
29
+ cd /home/valentin/Env_Python/OC_P5
30
+ poetry lock
31
+ git add poetry.lock
32
+ git commit -m "sync: update poetry.lock"
33
+ git push origin main
34
+ ```
35
+
36
+ Attendez 2-3 minutes que HF Spaces se synchronise, puis attendez le rebuild.
37
+
38
+ #### ✅ **Solution 3 : Ajouter une étape de diagnostic dans le Dockerfile**
39
+
40
+ Le Dockerfile a été mis à jour pour vérifier que les dépendances critiques sont bien installées :
41
+
42
+ ```dockerfile
43
+ RUN python -c "import slowapi; import fastapi; import gradio; print('All critical dependencies installed ✓')"
44
+ ```
45
+
46
+ Si cette étape échoue, le build Docker échouera immédiatement avec un message clair.
47
+
48
+ #### ✅ **Solution 4 : Forcer un build sans cache**
49
+
50
+ Sur HF Spaces :
51
+ 1. Settings → Advanced settings
52
+ 2. Cochez l'option "Disable cache" ou similaire
53
+ 3. Cliquez sur "Restart" ou "Rebuild"
54
+
55
+ ## Symptômes et solutions
56
+
57
+ ### Symptôme : "Error: No API found"
58
+
59
+ **Signifie** : Gradio démarre mais FastAPI n'a pas pu démarrer.
60
+
61
+ **Solution** :
62
+ 1. Vérifiez les logs HF Spaces
63
+ 2. Recherchez "ModuleNotFoundError: No module named 'slowapi'"
64
+ 3. Si oui, appliquez "Solution 1" (Factory reboot)
65
+
66
+ ### Symptôme : "502 Bad Gateway"
67
+
68
+ **Signifie** : Gradio n'a pas pu démarrer ou le port 7860 est occupé.
69
+
70
+ **Solution** :
71
+ 1. Attendez 2-3 minutes (premier démarrage peut être lent)
72
+ 2. Appliquez "Solution 1" (Factory reboot)
73
+ 3. Vérifiez les logs pour les erreurs Gradio
74
+
75
+ ### Symptôme : "Connection refused" sur le health check
76
+
77
+ **Signifie** : FastAPI a crashé après son démarrage.
78
+
79
+ **Solution** :
80
+ 1. Cherchez "Traceback" dans les logs
81
+ 2. Identifiez l'erreur Python
82
+ 3. Corrigez le code et poussez une nouvelle version
83
+
84
+ ## Vérification locale
85
+
86
+ Avant de déployer, testez toujours localement :
87
+
88
+ ```bash
89
+ # Lancer le test complet
90
+ ./test_deployment.sh
91
+
92
+ # Ou tester individuellement
93
+ poetry run uvicorn api:app --host 0.0.0.0 --port 8000 &
94
+ python app.py
95
+ ```
96
+
97
+ ## Fichiers importants
98
+
99
+ - `pyproject.toml` - Déclare toutes les dépendances
100
+ - `poetry.lock` - Versions exactes des dépendances (DOIT être synchronisé)
101
+ - `src/Dockerfile` - Build image pour HF Spaces
102
+ - `app.py` - Lance FastAPI + Gradio
103
+
104
+ ## Logs à surveiller
105
+
106
+ Sur HF Spaces, dans l'onglet "Logs", recherchez ces patterns :
107
+
108
+ ```
109
+ ✓ "[FastAPI] Application startup complete" - FastAPI a démarré
110
+ ✓ "Running on local URL: http://0.0.0.0:7860" - Gradio a démarré
111
+ ✗ "ModuleNotFoundError: No module named 'slowapi'" - Dépendance manquante
112
+ ✗ "Traceback" - Erreur Python
113
+ ```
114
+
115
+ ## Points clés
116
+
117
+ - `slowapi` est une dépendance de **production** (en development dependencies)
118
+ - `poetry.lock` DOIT être à jour (généré avec `poetry lock`)
119
+ - HF Spaces peut mettre en cache → utiliser Factory reboot si nécessaire
120
+ - Le premier build peut prendre 5-10 minutes
121
+
122
+ ## Questions fréquentes
123
+
124
+ **Q : Pourquoi ça fonctionne en local mais pas sur HF ?**
125
+ A : Probablement un problème d'installation des dépendances lors du build Docker. Utilisez Factory reboot.
126
+
127
+ **Q : Combien de temps ça prend à déployer ?**
128
+ A : Généralement 3-10 minutes après un push sur GitHub.
129
+
130
+ **Q : Pourquoi je vois "API not found" ?**
131
+ A : FastAPI n'a pas démarré. Vérifiez les logs pour "ModuleNotFoundError" ou "Traceback".
132
+
133
+ ## Contact & Support
134
+
135
+ - Documentation HF : https://huggingface.co/docs/hub/spaces
136
+ - Documentation Gradio : https://gradio.app/docs/
137
+ - Documentation FastAPI : https://fastapi.tiangolo.com/