Bibliothèques Python délimitées aux notebooks
Les bibliothèques délimitées aux notebooks vous permettent de créer, modifier, enregistrer, réutiliser et partager des environnements Python personnalisés qui sont spécifiques à un notebook. Lorsque vous installez une bibliothèque Python délimitée à un notebook, seuls le notebook actuel et les travaux associés à ce notebook ont accès à cette bibliothèque. Les autres notebooks attachés au même cluster ne sont pas concernés.
Les bibliothèques délimitées aux notebooks ne sont pas conservées entre les sessions. Vous devez réinstaller les bibliothèques délimitées aux notebooks au début de chaque session ou chaque fois que le notebook est détaché d’un cluster.
Databricks recommande d’utiliser la commande magic %pip
pour installer des bibliothèques Python délimitées aux notebooks.
Vous pouvez utiliser %pip
dans les notebooks planifiés en tant que travaux. Si vous devez gérer l’environnement Python dans un notebook Scala, SQL ou R, utilisez la commande magic %python
conjointement avec %pip
.
Vous pouvez rencontrer davantage de trafic vers le nœud du pilote quand vous utilisez des installations de bibliothèques délimitées aux notebooks. Consultez Quelle doit être la taille du nœud du pilote lors de l’utilisation de bibliothèques délimitées aux notebooks ?.
Pour installer des bibliothèques pour tous les notebooks attachés à un cluster, utilisez des bibliothèques de cluster. Consultez Bibliothèques de clusters.
Pour obtenir une vue d’ensemble complète des options disponibles pour installer des bibliothèques Python dans Databricks, consultez la gestion de l’environnement Python.
Remarque
Sur Databricks Runtime 10.4 LTS (et les versions antérieures), vous pouvez utiliser l’utilitaire de bibliothèque (hérité) d’Azure Databricks. L’utilitaire de bibliothèque est pris en charge uniquement sur Databricks Runtime, et non sur Databricks Runtime ML. Consultez utilitaire bibliothèque (dbutils.library) (hérité).
Gérer les bibliothèques avec les commandes %pip
La commande %pip
est équivalente à la commande pip et prend en charge la même API. Les sections suivantes présentent des exemples de la façon dont vous pouvez utiliser les commandes %pip
pour gérer votre environnement. Pour plus d’informations sur l’installation de packages Python avec pip
, consultez la documentation d’installation pip et les pages associées.
Important
- À partir de Databricks Runtime 13.0
%pip
, les commandes ne redémarrent pas automatiquement le processus Python. Si vous installez un nouveau package ou mettez à jour un package existant, vous aurez sûrement à utiliserdbutils.library.restartPython()
pour voir les nouveaux packages. Consultez Redémarrer le processus Python sur Azure Databricks. - Sur Databricks Runtime 12.2 LTS et versions ultérieures, Databricks recommande de placer toutes les
%pip
commandes au début du notebook. L’état du notebook est réinitialisé après toute commande%pip
modifiant l’environnement. Si vous créez des méthodes ou des variables Python dans un notebook, puis utilisez des commandes%pip
dans une cellule ultérieure, les méthodes ou variables sont perdues. - La mise à niveau, la modification ou la désinstallation de packages Python principaux (tels que IPython) avec
%pip
peuvent entraîner l’arrêt du fonctionnement normal de certaines fonctionnalités. Si vous rencontrez de tels problèmes, réinitialisez l’environnement en détachant et en attachant à nouveau le notebook ou en redémarrant le cluster.
Installer une bibliothèque avec %pip
%pip install matplotlib
Installer un package wheel Python avec%pip
%pip install /path/to/my_package.whl
Désinstaller une bibliothèque avec %pip
Remarque
Vous ne pouvez pas désinstaller une bibliothèque qui est incluse dans les Notes de publication sur les versions et la compatibilité de Databricks Runtime ou une bibliothèque qui a été installée en tant que bibliothèque de clusters. Si vous avez installé une version de bibliothèque différente de celle qui est incluse dans Databricks Runtime ou celle qui est installée sur le cluster, vous pouvez utiliser %pip uninstall
pour rétablir la version par défaut de la bibliothèque dans Databricks Runtime ou la version installée sur le cluster, mais vous ne pouvez pas utiliser une commande %pip
pour désinstaller la version d’une bibliothèque incluse dans Databricks Runtime ou installée sur le cluster.
%pip uninstall -y matplotlib
L’option -y
est obligatoire.
Installer une bibliothèque à partir d’un système de gestion de version avec %pip
%pip install git+https://github.com/databricks/databricks-cli
Vous pouvez ajouter des paramètres à l’URL pour spécifier des éléments tels que la version ou le sous-répertoire git. Pour plus d’informations et pour obtenir des exemples d’utilisation d’autres systèmes de gestion de version, consultez la Prise en charge VCS.
Installer un package privé avec des informations d’identification gérées par des secrets Databricks avec %pip
PIP prend en charge l’installation de packages à partir de sources privées avec l’authentification de base, y compris les systèmes de gestion de version privés et les référentiels de packages privés, tels que Nexus et Artifactory. La gestion des secrets est disponible via l’API Databricks Secrets, qui vous permet de stocker des jetons d’authentification et des mots de passe. Utilisez l'API DBUtils pour accéder aux secrets depuis votre notebook. Notez que vous pouvez utiliser $variables
dans les commandes magiques.
Pour installer un package à partir d’un dépôt privé, spécifiez l’URL du référentiel avec l'option --index-url
sur %pip install
ou ajoutez-la au fichier de configuration pip
à l’emplacement ~/.pip/pip.conf
.
token = dbutils.secrets.get(scope="scope", key="key")
%pip install --index-url https://<user>:$token@<your-package-repository>.com/<path/to/repo> <package>==<version> --extra-index-url https://pypi.org/simple/
De même, vous pouvez utiliser la gestion des secrets avec les commandes magiques pour installer des packages privés à partir de systèmes de contrôle de version.
token = dbutils.secrets.get(scope="scope", key="key")
%pip install git+https://<user>:$token@<gitprovider>.com/<path/to/repo>
Installer un package à partir de DBFS avec %pip
Important
Tout utilisateur(-trice) de l’espace de travail peut modifier les fichiers stockés dans DBFS. Azure Databricks recommande de stocker des fichiers dans des espaces de travail ou sur des volumes de Unity Catalog.
Vous pouvez utiliser %pip
pour installer un package privé qui a été enregistré sur DBFS.
Lorsque vous chargez un fichier sur DBFS, il renomme automatiquement le fichier, en remplaçant les espaces, les points et les traits d’union par des traits de soulignement. Pour les fichiers wheel Python, pip
nécessite que le nom du fichier utilise des points dans la version (par exemple 0.1.0), et des traits d’union au lieu d’espaces ou de traits de soulignement pour que ces noms de fichiers ne soient pas modifiés.
%pip install /dbfs/mypackage-0.0.1-py3-none-any.whl
Installer un package à partir d’un volume avec %pip
Important
Cette fonctionnalité est disponible en préversion publique.
Avec Databricks Runtime version 13.3 LTS (et les versions ultérieures), vous pouvez utiliser %pip
pour installer un package privé enregistré sur un volume.
Lorsque vous chargez un fichier sur un volume, il renomme automatiquement le fichier, en remplaçant les espaces, les points et les traits d’union par des traits de soulignement. Pour les fichiers wheel Python, pip
nécessite que le nom du fichier utilise des points dans la version (par exemple 0.1.0), et des traits d’union au lieu d’espaces ou de traits de soulignement pour que ces noms de fichiers ne soient pas modifiés.
%pip install /Volumes/<catalog>/<schema>/<path-to-library>/mypackage-0.0.1-py3-none-any.whl
Installer un package stocké en tant que fichier d’espace de travail avec %pip
Avec Databricks Runtime 11.3 LTS et ultérieur, vous pouvez utiliser %pip
pour installer un package privé qui a été enregistré en tant que fichier d’espace de travail.
%pip install /Workspace/<path-to-whl-file>/mypackage-0.0.1-py3-none-any.whl
Enregistrer des bibliothèques dans un fichier de spécifications
%pip freeze > /Workspace/shared/prod_requirements.txt
Tous les sous-répertoires du chemin d’accès au fichier doivent déjà exister. Si vous exécutez %pip freeze > /Workspace/<new-directory>/requirements.txt
, la commande échoue si le répertoire /Workspace/<new-directory>
n’existe pas déjà.
Utiliser un fichier de spécifications pour installer les bibliothèques
Un fichier de spécifications contient une liste de packages à installer à l’aide pip
. Voici un exemple d’utilisation d’un fichier de spécifications :
%pip install -r /Workspace/shared/prod_requirements.txt
Consultez Format du fichier de spécifications pour plus d’informations sur les fichiers requirements.txt
.
Quelle doit être la taille du nœud du pilote lors de l’utilisation de bibliothèques délimitées aux notebooks ?
L’utilisation de bibliothèques délimitées aux notebooks peut entraîner un plus grand trafic vers le nœud du pilote, car cela permet de préserver la cohérence de l’environnement entre les nœuds de l’exécuteur.
Lorsque vous utilisez un cluster de 10 nœuds ou plus, Databricks recommande ces spécifications en tant que configuration minimale requise pour le nœud de pilote :
- Pour un cluster d’UC à 100 nœuds, utilisez Standard_DS5_v2.
- Pour un cluster GPU à 10 nœuds, utilisez Standard_NC12.
Pour les clusters de plus grande taille, utilisez un nœud de pilote plus grand.
Puis-je utiliser %sh pip
, !pip
ou pip
? Quelle est la différence ?
%sh
et !
exécutent une commande d’interpréteur de commandes dans un notebook. La première est une commande magique auxiliaire Databricks, alors que la seconde est une fonctionnalité d’IPython. pip
est une abréviation de %pip
quand automagic est activé, ce qui correspond à la valeur par défaut dans les notebooks Python Azure Databricks.
Sur Databricks Runtime 11.3 LTS (et les versions ultérieures), %pip
, %sh pip
et !pip
installent tous une bibliothèque en tant que bibliothèque Python délimitée aux notebooks. Dans Databricks Runtime 10.4 LTS et les versions antérieures, Databricks recommande d’utiliser uniquement %pip
ou pip
pour installer les bibliothèques spécifiques à un notebook. Le comportement de %sh pip
et !pip
n’est pas cohérent dans Databricks Runtime 10.4 LTS et les versions antérieures.
Problèmes connus
- Sur Databricks Runtime 9.1 LTS et versions antérieures, les bibliothèques limitées au notebook sont incompatibles avec les travaux de diffusion en continu par lots. Databricks recommande d’utiliser des bibliothèques de cluster ou le noyau IPython à la place.