Skip to main content
Les notebooks exécutent les cellules en fonction des dépendances entre variables, et non selon l’ordre dans lequel elles apparaissent sur la page. Si la cellule B lit une variable définie dans la cellule A, la cellule B dépend de la cellule A. La cellule A se trouve en amont de la cellule B, et la cellule B en aval de la cellule A. Lorsqu’une cellule en amont s’exécute, le notebook peut réexécuter les cellules en aval afin que leurs sorties reflètent les valeurs les plus récentes. L’exécution automatique ou non de ces cellules dépend des paramètres du runtime du notebook. Les notebooks déterminent les dépendances en suivant les définitions et les références :
  • Une définition est un nom global créé par une cellule, comme une variable, une fonction, une classe ou un nom importé.
  • Une référence est un nom global qu’une cellule lit depuis une autre cellule.
Pour en savoir plus, consultez la page How marimo runs cells de la documentation marimo.

Cellules obsolètes et bloquées

Les notebooks suivent l’état de chaque cellule pour déterminer si elle doit être exécutée. Les principaux états d’une cellule sont obsolète et bloquée.

Cellules obsolètes

Une cellule est obsolète si elle n’a jamais été exécutée ou si elle n’a pas été exécutée avec la dernière version de son code ou de ses entrées. Une fois exécutée avec son code et ses entrées actuels, elle n’est plus obsolète. Une cellule devient obsolète dans les situations suivantes :
  • Vous modifiez le code de la cellule.
  • Une cellule en amont est exécutée alors que le notebook est en mode lazy. Dans ce mode, le notebook marque les cellules en aval comme obsolètes au lieu de les exécuter automatiquement.
  • Un module Python utilisé par la cellule est modifié alors que le rechargement automatique différé (lazy) des modules est activé.
Exécutez une cellule obsolète pour mettre à jour sa sortie. Si des cellules en amont sont obsolètes, le notebook les exécute au préalable. Vous pouvez également exécuter toutes les cellules obsolètes en une seule fois.

Cellules bloquées

Une cellule est bloquée si elle-même ou l’une de ses cellules en amont est désactivée. Les cellules bloquées ne s’exécutent pas automatiquement, même lorsque leurs entrées sont modifiées. Pour débloquer une cellule, réactivez la cellule désactivée dont elle dépend. Le notebook peut alors exécuter les cellules en aval obsolètes dont les sorties doivent être mises à jour. Pour savoir comment procéder, voir Désactiver ou activer une cellule.

Supprimer des cellules

Lorsque vous supprimez une cellule, le notebook supprime également les variables globales qu’elle a définies. Selon les paramètres du runtime, le notebook réexécute, invalide ou marque comme obsolètes les cellules qui font référence aux variables supprimées.

Définir chaque nom global une seule fois

Définissez chaque nom global dans une seule cellule. Si deux cellules définissent le même nom global, le notebook ne peut pas déterminer de source de vérité unique pour les cellules en aval. Cette restriction s’applique aux variables, aux fonctions, aux classes et aux noms des paquets importés. Pour les variables temporaires, préfixez le nom de la variable par un seul trait de soulignement afin de la rendre locale à la cellule. Vous pouvez également définir les variables temporaires à l’intérieur d’une fonction.

Éviter les mutations entre cellules

Évitez de modifier des objets utilisés par plusieurs cellules. Notebooks ne suit pas les mutations d’objets : la modification d’un objet ne marque donc pas les cellules dépendantes comme obsolètes. Par exemple, supposons qu’une cellule ajoute une colonne à un DataFrame défini dans une autre cellule. Les cellules qui font référence à ce DataFrame ne sont pas réexécutées automatiquement. Pour que l’état du notebook reste cohérent, créez un nouvel objet et attribuez-le à une nouvelle variable. Si vous devez modifier un objet, faites-le dans la cellule qui le définit. Pour en savoir plus, consultez Variable mutations are not tracked.

Inspecter les variables et les dépendances

Afficher les variables

Utilisez l’explorateur de variables pour afficher les variables définies, leurs types, ainsi que les endroits où elles sont déclarées et référencées.
Variables circulant entre des cellules de notebook dépendantes
Pour en savoir plus sur les symboles et les connexions entre les cellules, consultez :

Afficher les relations entre les cellules dans la minimap

Utilisez le panneau Dependencies pour examiner les relations entre les cellules :
  1. Dans la barre latérale, sélectionnez Explore dependencies ().
  2. Sélectionnez MINIMAP.

Afficher le graphe des dépendances

Utilisez la vue graphique pour visualiser les dépendances entre les cellules sous la forme d’un graphe orienté acyclique (DAG) :
  1. Dans la barre latérale, sélectionnez Explore dependencies ().
  2. Sélectionnez GRAPH.
Déplacez la vue, zoomez et réorganisez les nœuds pour explorer les relations entre les cellules.
Dernière modification le 30 septembre 2026