Désactiver les bibliothèques Python préinstallées pour les applications Databricks
Cette page explique comment désactiver les bibliothèques Python préinstallées sur une application Databricks à mise à l'échelle horizontale, gérer vos propres dépendances et réactiver les bibliothèques préinstallées ultérieurement. La désactivation n'est disponible que sur les applications à mise à l'échelle horizontale qui ont été converties à partir d'une application standard. Consultez Convertir une application standard pour utiliser la mise à l'échelle horizontale. La mise à l'échelle horizontale est en version Bêta.
Lorsque vous convertissez une application standard en application à l'échelle horizontale, Databricks pin l'application convertie aux bibliothèques Python préinstallées afin que les importations existantes de votre application continuent de fonctionner. Désactivez cette option pour exécuter l'application sur une image de système d'exploitation de base propre et déclarez chaque bibliothèque vous-même.
Désactiver les bibliothèques préinstallées
Le fait de vous désinscrire indique à Databricks de créer votre prochain déploiement à partir d'une image de base du système d'exploitation vierge. Les bibliothèques préinstallées ne sont plus disponibles, sauf si vous les déclarez dans requirements.txt ou pyproject.toml.
Pour se désinscrire :
- Sur la page de détails de l'application, cliquez sur Modifier .
- À l'étape **Configurer**, décochez la case **Utiliser les bibliothèques Python préinstallées**.
- Cliquez sur Enregistrer . Le déploiement en cours n'est pas affecté.
- Déployez votre application à nouveau depuis l'onglet tab . Ce nouveau déploiement s'appuie sur l'image de base propre du système d'exploitation.
Workflow recommandé
Vos dépendances peuvent inclure des bibliothèques préinstallées de manière transitive, il n'est donc pas toujours clair quelles bibliothèques votre application nécessite directement. Trouvez les bibliothèques manquantes sur une application de test avant de la désactiver en production :
- Créez une nouvelle application mise à l'échelle horizontalement. Les nouvelles applications à mise à l'échelle horizontale s'exécutent déjà sur l'image du système d'exploitation de base propre, ce qui correspond à votre cible après désactivation.
- Déployez le code source de votre application de production vers l'application de test. Mettez à jour
requirements.txt(oupyproject.toml) et redéployez jusqu'à ce que l'application de test start, réponde aux requêtes et réussisse vos tests. - Copiez les déclarations de dépendances finales dans la source de l'application de production.
- Sur l’application de production, suivez les étapes de Désactiver les bibliothèques préinstallées et déployez la source mise à jour.
La production continue de s'exécuter sur l'image avec les bibliothèques préinstallées jusqu'à ce que votre nouveau déploiement réussisse les vérifications de santé. Cette approche évite donc les temps d'arrêt pendant que vous identifiez les dépendances manquantes sur l'application de test.
Résoudre les erreurs après avoir désactivé la participation
L'échec le plus courant après avoir refusé est un ModuleNotFoundError au application Startup, causé par un framework ou une bibliothèque que votre code a importé implicitement de l'ensemble préinstallé. Pour le résoudre :
- Ouvrez la Logs tab sur la page des détails de l'application.
- Trouvez le nom du module manquant dans les logs de build ou d'exécution.
- Ajoutez le package correspondant à
requirements.txt(oupyproject.toml) et redéployez.
Un nouveau déploiement ne remplace le déploiement en cours que si le processus de l'application reste en cours d'exécution pendant les premières secondes après le Startup. Un déploiement de désactivation qui plante immédiatement en cas d’import manquant ne prend jamais le relais, et le trafic se poursuit sur le déploiement précédent fonctionnel pendant que vous corrigez la liste des dépendances. La vérification au Startup est superficielle, testez donc que votre application gère réellement les requêtes après l’exclusion plutôt que de vous fier à la vérification pour détecter les déploiements défectueux.
Réactiver les bibliothèques préinstallées
Pour revenir aux bibliothèques préinstallées après avoir désactivé l'option :
- Sur la page de détails de l'application, cliquez sur Modifier .
- À l'étape Configurer , cochez la case Utiliser les bibliothèques Python préinstallées .
- Cliquez sur Enregistrer .
- Déployez votre application à nouveau depuis l'onglet tab . Ce nouveau déploiement est basé sur l'image de base avec les bibliothèques préinstallées.
Vos requirements.txt et pyproject.toml continuent de s'appliquer, de sorte que toutes les déclarations explicites que vous avez ajoutées pendant votre désinscription sont conservées.
La conversion d'une application évolutive horizontalement vers une application standard restaure également les bibliothèques préinstallées : l'application standard est reconstruite avec celles-ci, que vous ayez choisi de vous désinscrire ou non. Si vous convertissez à nouveau l'application en mode évolutif horizontalement, elle inclura les bibliothèques préinstallées jusqu'à ce que vous vous désinscriviez à nouveau.