Skip To Content

Étendre un runtime de notebook

ArcGIS Notebook Server inclut deux runtimes de notebook (collections de modules Python). Ces runtimes sont mis à disposition des utilisateurs de notebook via des images de conteneur, qui sont appliquées à chaque conteneur qui s’exécute sur votre site de serveur.

Les runtimes de notebook standard et avancés incluent ArcGIS API for Python et plusieurs modules Python qui peuvent être utilisés pour la science des données, l’analyse spatiale, la gestion du contenu et l’administration. Le runtime avancé comprend également ArcPy.

Consultez la liste des bibliothèques Python disponibles

Dans certains cas, les créateurs de votre notebook peuvent avoir besoin de modules ou de versions spécifiques des modules qui ne figurent pas dans ces deux runtimes. Vous pouvez accéder à des modules Python supplémentaires dans ArcGIS Notebook Server des façons suivantes :

  • Installez un module Python pendant une session de notebook. Le module est alors disponible pour être utilisé dans ce notebook.
  • Étendez une image de conteneur Esri de façon à inclure des bibliothèques Python dans un runtime personnalisé. L’image de conteneur que vous créez mettra le runtime étendu à disposition de tous les créateurs de notebook de votre site.

Installer des modules pendant une session

Les créateurs de notebook peuvent mettre à disposition les modules Python ou des versions des modules, qui ne sont disponibles dans aucun runtime, pendant une session de notebook à l’aide des systèmes de gestion des paquetages conda ou pip. Il est recommandé d’utiliser conda, car ArcGIS Notebook Server l’emploie pour gérer les modules ; cependant, certains modules Python sont disponibles uniquement dans pip.

Cette approche installe le module souhaité pendant la durée de la session de notebook. Une fois que le notebook est fermé ou que le conteneur appartenant à l’utilisateur est terminé, le module n’est plus disponible. Pour installer des modules à l’aide de cette méthode, les utilisateurs doivent disposer d’une connexion Internet au canal conda ou pip.

Remarque :

conda et pip sont tous deux inclus dans les deux runtimes de notebook. Vous n’avez pas besoin de les installer.

Pour installer le paquetage scrapy pendant une session, par exemple, exécutez une cellule de notebook avec l’une des commandes suivantes, selon le système de gestion des paquetages que vous utilisez :

Utilisation du système de gestion des paquetages conda

!conda install --yes scrapy

Utilisation du système de gestion des paquetages pip

!pip install scrapy

Pour utiliser une autre version d’un module Python dans le runtime de notebook dans lequel vous travaillez, indiquez le numéro de version dans la commande.

Après avoir exécuté une commande conda ou pip, vous devez redémarrer le noyau pour que votre nouveau paquetage soit disponible.

Par exemple, un paquetage donné est disponible dans les deux runtimes de notebook version 1.5, mais vous voulez utiliser un outil introduit dans la version 1.6. Pour mettre la version 1.6 à disposition pendant une session de notebook, exécutez une cellule de notebook avec l’une des commandes suivantes, selon le système de gestion des paquetages que vous utilisez :

Utilisation du système de gestion des paquetages conda

!conda install --yes <package name>==1.6

Utilisation du système de gestion des paquetages pip

!pip install <package name>==1.6

Créer une image de conteneur personnalisée

Pour apporter des modifications durables à un runtime de notebook, vous pouvez créer une image de conteneur personnalisée dans un site. Le processus suivant, qui nécessite des privilèges administratifs, crée une image personnalisée et configure ArcGIS Notebook Server de façon à l’utiliser.

Utilisez l’un des deux runtimes de notebook (standard ou avancé) comme point de départ. Une fois que vous avez créé un runtime personnalisé, vous pouvez l’inscrire comme nouveau runtime auprès de votre site.

  1. Installez et configurez ArcGIS Notebook Server.
  2. Connectez-vous au répertoire d’administration ArcGIS Notebook Server en tant qu’administrateur.

    L'URL est formatée comme suit : https://notebookserver.domain.com:11443/arcgis/admin/.

  3. Cliquez sur notebooks > runtimes, puis sélectionnez le runtime de notebook que vous voulez étendre pour votre image personnalisée.

    Sur la page de ressources du runtime, notez la valeur imageId de ce runtime. Vous utiliserez cette valeur à l’étape suivante.

  4. Créez un Dockerfile qui ajoute les modules Python de votre choix à l’image personnalisée.

    Un Dockerfile est un fichier texte simple d’instructions permettant de créer une image de conteneur Docker. Pour obtenir plus d’informations et des pratiques conseillées, reportez-vous à la documentation Dockerfile.

    Dans cet exemple, vous allez ajouter le paquetage Python de visualisation des données graphviz au runtime de notebook avancé. Le bloc de code suivant de votre Dockerfile indique à Docker d’accéder au runtime avancé à l’aide de la valeur imageId, puis d’installer graphviz dans le runtime. La commande conda clean constitue une pratique conseillée pour réduire la taille du fichier.

    # Specify the existing notebook runtime imageId as FROM
    FROM aa7a1a346e5b
    
    # Use RUN to issue a command to install, then clean
    RUN conda install graphviz \
      && conda clean -y -a

    Dans cet exemple, vous allez créer un runtime personnalisé qui contient des bibliothèques clientes Oracle.

    ## Using a Dockerfile to build a custom notebook runtime that includes Oracle client
    FROM <replace with imageId of standard or advanced container image>
    
    ## Switch to root user for installing OS level packages. 
    USER root
    
    ## Combine OS level statements for Docker image efficiency
    RUN apt-get update && \
            apt-get install -y alien
    ## Update the url below to the desired version of Oracle client.
    RUN wget https://yum.oracle.com/repo/OracleLinux/OL8/oracle/instantclient/x86_64/getPackage/oracle-instantclient19.10-basic-19.10.0.0.0-1.x86_64.rpm
    RUN alien -i oracle-instantclient19.10-basic-19.10.0.0.0-1.x86_64.rpm
    
    ## Installing libaio1 is required only for Notebook runtimes version 5 (10.9) or earlier.  
    RUN apt-get install -y libaio1
    
    ## Switch back to arcgis user at end of the Dockerfile
    USER arcgis
  5. Enregistrez votre Dockerfile sur la machine.
  6. Créez votre nouvelle image de conteneur personnalisée à l’aide d’une commande Docker.

    Cette image contient un nouveau runtime, comme indiqué dans votre Dockerfile. Ouvrez la fenêtre de ligne de commande et exécutez une commande avec la syntaxe suivante :

    docker build -t <name of my new runtime>:v1.0 -f <path to my Dockerfile> .
    Remarque :

    Assurez-vous d’ajouter le point à la fin de la commande.

    Lorsque la commande s’exécute, Docker crée la nouvelle image de conteneur. La dernière ligne de la sortie de commande sera Successfully built <imageId>, avec l’ID abrégé de la nouvelle image. Vous devez indiquer votre site ArcGIS Notebook Server avec sa valeur imageId complète.

  7. Exécutez la commande suivante dans la fenêtre d’invite de commande pour obtenir la valeur de l’ID de l’image :

    docker inspect <imageId>

    Maintenant que votre image personnalisée est créée et que vous disposez de sa valeur imageId complète, revenez au répertoire administrateur ArcGIS Notebook Server pour inscrire la nouvelle image.

  8. Dans le répertoire administrateur, accédez à notebooks > runtimes. Cliquez sur Register Runtime (Inscrire le runtime).
  9. Spécifiez les valeurs adéquates pour terminer l’inscription.

    Un guide de ces paramètres figure dans la rubrique de référence Inscrire un runtime. Lorsque vous êtes prêt, inscrivez le runtime auprès du site.

  10. Ouvrez un nouveau notebook pour tester cette mise à jour. Vérifiez que les modules ou les versions des modules que vous avez ajoutés à votre image personnalisée sont disponibles dans le notebook.

Pour restaurer les paramètres d’origine des runtimes disponibles sur votre site ArcGIS Notebook Server, utilisez l’opération Restore Factory Runtimes (Restaurer les runtimes d’usine) dans le répertoire administrateur. Elle est disponible à l’adresse https://notebookserver.domain.com:11443/arcgis/admin/notebooks/runtimes/restore et restaure uniquement les runtimes d’usine pour la version actuelle de votre site.