web-dev-qa-db-fra.com

Pourquoi certaines variables et commentaires dans mon cahier IPython sont-ils rouges?

Est-ce un problème de mise en évidence de la syntaxe dans mon ordinateur portable iPython? Puis-je l'enlever? Cela se produit dans certaines de mes cellules, mais pas dans d'autres.

 ipython red text

Je suis en train de regarder ce cahier iPython .

11
Matt

C'est parce que l'indentation est foutue. Pour plus de cohérence, l'analyseur codemirror crée une ligne rouge s'il ne s'agit pas de 4 espaces en retrait (ou s'il est en retrait avec des tabulations, selon la version de codemirror). L'analyseur a quelques cas Edge qui ne soulignent que quelques-unes de ces lignes en rouge, je n'entrerai pas dans les détails, mais si vous indentez 4 espaces, cela fonctionnera.

Tu peux soit:

  • sélectionnez le bloc de code et appuyez sur tab 
  • utilisez alt-click'n'drag verticalement pour placer plusieurs curseurs devant votre code et appuyez sur espace suffisamment de temps pour faire le retrait correct de 4 espaces.

Régler le retrait à 2 est possible, mais complexe et non recommandé. 4 space est la norme python.

23
Matt

C’est la solution officielle de la documentation Jupyter Notebook :

  1. Ouvrir un cahier Jupyter
  2. Sélectionnez une cellule Code
  3. Ouvrez la console JavaScript de votre navigateur et exécutez l'extrait suivant:

    var cell = Jupyter.notebook.get_selected_cell();
    var config = cell.config;
    var patch = {
          CodeCell:{
            cm_config:{indentUnit:2}
          }
        }
    config.update(patch)
    
  4. Recharger la page Notebook

Ce correctif est permanent.

Pour inverser la modification, répétez le processus d'exécution de cet extrait:

var cell = Jupyter.notebook.get_selected_cell();
var config = cell.config;
var patch = {
      CodeCell:{
        cm_config:{indentUnit: null} # only change here.
      }
    }
config.update(patch)
0
user4189424