Gérer les bibliothèques avec les commandes %conda (hérité)
Cette documentation a été retirée et pourrait ne pas être mise à jour. Les produits, services ou technologies mentionnés dans ce contenu ne sont plus pris en charge. Consultez les bibliothèques Python à l'échelle du Notebook.
%conda Les commandes sont obsolètes et ne sont prises en charge que pour Databricks Runtime 7.3 LTS ML. Databricks recommande d'utiliser %pip pour la gestion des bibliothèques limitées au Notebook. Si vous avez besoin de bibliothèques Python qui ne peuvent être installées qu'avec conda, vous pouvez utiliser des conteneurs Docker basés sur conda pour préinstaller les bibliothèques dont vous avez besoin.
Anaconda Inc. a mis à jour ses conditions d'utilisation pour les canaux anaconda.org en septembre 2020. Selon les nouvelles conditions d'utilisation, il se peut que vous ayez besoin d'une licence commerciale si vous vous basez sur l'empaquetage et la distribution d'Anaconda. Voir la FAQ d'Anaconda Commercial Edition pour plus d'informations. Votre utilisation des canaux de distribution Anaconda est régie par leurs conditions d'utilisation.
À la suite de ce changement, Databricks a supprimé la configuration du canal de distribution default pour le gestionnaire de packages Conda. Il s'agit d'une modification majeure.
Pour installer ou mettre à jour des packages à l'aide de la commande %conda, vous devez spécifier un canal de distribution à l'aide de -c. Vous devez également mettre à jour toutes les utilisations de %conda install et %sh conda install pour spécifier un canal de distribution à l'aide de -c. Si vous ne spécifiez pas de Canal de distribution, les commandes conda échoueront avec PackagesNotFoundError.
La commande %conda est équivalente à la commande conda et prend en charge la même API avec certaines restrictions mentionnées ci-dessous. Les sections suivantes contiennent des exemples sur la manière d'utiliser les commandes %conda pour gérer votre environnement. Pour plus d'informations sur l'installation de packages Python avec conda, consultez la documentation d'installation de conda.
Notez que les commandes magiques %conda ne sont pas disponibles sur Databricks Runtime. Elles ne sont disponibles que sur Databricks Runtime 7.3 LTS ML. Databricks recommande d'utiliser pip pour installer les bibliothèques. Pour plus d'informations, consultez Comprendre conda et pip.
Si vous devez utiliser les commandes %pip et %conda dans un notebook, consultez les interactions entre les commandes pip et conda.
Les conda commandes suivantes ne sont pas prises en charge lorsqu'elles sont utilisées avec %conda:
activatecreateinitrunenv createenv remove
Installer une bibliothèque avec %conda
%conda install matplotlib -c conda-forge
Désinstaller une bibliothèque avec %conda
%conda uninstall matplotlib
Enregistrer et réutiliser ou partager un environnement
Lorsque vous dissociez un notebook d'un cluster, l'environnement n'est pas enregistré. Pour enregistrer un environnement afin que vous puissiez le réutiliser ultérieurement ou le partager avec quelqu'un d'autre, suivez ces étapes.
Databricks recommande que les environnements ne soient partagés qu’entre les clusters exécutant la même version de Databricks Runtime ML.
-
Enregistrez l'environnement en tant que spécification conda YAML.
Python%conda env export -f /dbfs/myenv.yml -
Importez le fichier vers un autre notebook à l'aide de
conda env update.Python%conda env update -f /dbfs/myenv.yml
Lister l'environnement Python d'un Notebook
Pour afficher l'environnement Python associé à un notebook, utilisez %conda list:
%conda list
Interactions entre les commandes pip et conda
Pour éviter les conflits, suivez ces directives lors de l'utilisation de pip ou conda pour installer des packages et des bibliothèques Python.
- Les bibliothèques installées à l'aide de l'API des bibliothèques ou via l'interface utilisateur du cluster sont installées à l'aide de
pip. Si des bibliothèques ont été installées à partir de l'API ou de l'interface utilisateur du cluster, vous devez utiliser uniquement%pipcommandes lors de l'installation de bibliothèques propres aux Notebooks. - Si vous utilisez des bibliothèques à l'échelle du Notebook sur un cluster, les scripts d'initialisation exécutés sur ce cluster peuvent utiliser les commandes
condaoupippour installer des bibliothèques. Cependant, si le script d'initialisation inclut des commandespip, utilisez uniquement des commandes%pipdans les notebooks (pas%conda). - Il est préférable d'utiliser soit les commandes
pipexclusivement, soit les commandescondaexclusivement. Si vous devez installer des packages en utilisantcondaet d'autres en utilisantpip, exécutez d'abord les commandesconda, puis exécutez les commandespip. Pour plus d'informations, consultez Utilisation de pip dans un environnement Conda.
Questions fréquemment posées (FAQ)
Comment les bibliothèques installées à partir de l'interface utilisateur/API du cluster interagissent-elles avec les bibliothèques délimitées aux Notebooks ?
Les bibliothèques installées depuis l'interface utilisateur du cluster ou l'API sont disponibles pour tous les Notebooks sur le cluster. Ces bibliothèques sont installées à l'aide de pip; par conséquent, si des bibliothèques sont installées à l'aide de l'interface utilisateur du cluster, utilisez uniquement les commandes %pip dans les Notebook.
Comment les bibliothèques installées à l’aide d’un script d’initialisation interagissent-elles avec les bibliothèques propres au notebook ?
Les bibliothèques installées à l'aide d'un script d'initialisation sont disponibles pour tous les Notebooks sur le cluster.
Si vous utilisez des bibliothèques étendues au Notebook sur un cluster exécutant Databricks Runtime ML, les scripts d'initialisation exécutés sur le cluster peuvent utiliser les commandes conda ou pip pour installer des bibliothèques. Cependant, si le script d'initialisation inclut pip commandes, alors utilisez uniquement %pip commandes dans les Notebooks.
Par exemple, cet extrait de code de Notebook génère un script qui installe des packages fast.ai sur tous les nœuds du cluster.
dbutils.fs.put("dbfs:/home/myScripts/fast.ai", "conda install -c pytorch -c fastai fastai -y", True)
Puis-je utiliser les commandes %pip et %conda dans les notebooks de job ?
Oui.
Puis-je utiliser les commandes %pip et %conda dans des Notebooks R ou Scala ?
Oui, dans une cellule magique Python.
Puis-je utiliser %sh pip, !pip, ou pip? Quelle est la différence ?
%sh et ! exécute une commande shell dans un notebook ; le premier est une commande magique auxiliaire Databricks, tandis que le second est une fonctionnalité d'IPython. pip est un raccourci pour %pip lorsque l'automagic est activé, ce qui est le default dans les Notebooks Python de Databricks.
Sur Databricks Runtime 11,0 et versions supérieures, %pip, %sh pip et !pip installent tous une bibliothèque en tant que bibliothèque Python délimitée au notebook. Sur Databricks Runtime 10.4 LTS et versions antérieures, Databricks recommande d'utiliser uniquement %pip ou pip pour installer les bibliothèques propres aux Notebooks. Le comportement de %sh pip et !pip n'est pas cohérent dans Databricks Runtime 10,4 LTS et les versions antérieures.
Puis-je mettre à jour les packages R à l'aide des commandes %conda ?
Non.
Problèmes connus
- Lorsque vous utilisez
%conda env updatepour mettre à jour un environnement de notebook, l'ordre d'installation des packages n'est pas garanti. Cela peut entraîner des problèmes pour le packagehorovod, qui exige quetensorflowettorchsoient installés avanthorovodafin d'utiliserhorovod.tensorflowouhorovod.torchrespectivement. Si cela se produit, désinstallez le packagehorovodet réinstallez-le après vous être assuré que les dépendances sont installées. - Sur Databricks Runtime 9.1 LTS, les bibliothèques à l'échelle du Notebook sont incompatibles avec les Jobs de streaming par batch. Databricks recommande d'utiliser les bibliothèques de clusters ou le noyau IPython à la place.