python · Python
Le message
TabError: inconsistent use of tabs and spaces in indentation
Ce que cela veut dire
Tabulations et espaces sont mélangés dans un même bloc, donc Python ne peut pas décider quelle ligne est plus profonde. Cela arrive en collant depuis un éditeur qui insère des tabulations, ou quand deux personnes modifient le même fichier avec des réglages différents ; à l'écran les lignes semblent identiques, vous ne le trouverez pas à l'œil. python -m tabnanny app.py affiche les numéros de ligne fautifs, et le reste consiste à convertir tout le fichier en quatre espaces dans l'éditeur.
Le correctif
python -m tabnanny app.py- Émis par
- python
- Python
- 18
Une trace Python coupe la réponse en deux : la dernière ligne dit ce qui a échoué, les cadres au-dessus disent où — ne lire que la dernière ligne donne le nom et fait perdre l'endroit ; et pour les erreurs de valeur absente comme NoneType et KeyError, la cause siège presque toujours dans un cadre au-dessus de celui qui a planté.
Lire un message d’erreur
- Lisez à partir de la première ligne. Plus on descend, plus il s’agit des entrailles de l’outil ; la cause est généralement en haut.
- S’il y a un fichier et un numéro de ligne, commencez là — pas la première image de la pile, mais la ligne la plus haute qui nomme un fichier de vous.
- Cherchez le message tel quel, mais retirez d’abord vos chemins et vos noms de variables : c’est cela qui empêche la correspondance.
- La même situation se formule autrement selon la version de l’outil. Si les résultats sonnent faux, ajoutez le numéro de version.
- Avant de coller un correctif, vérifiez ce qu’il jette. Certains sont irréversibles.
Questions fréquentes
Q. Que veut dire « TabError: inconsistent use of tabs and spaces in indentation » ?
Tabulations et espaces sont mélangés dans un même bloc, donc Python ne peut pas décider quelle ligne est plus profonde. Cela arrive en collant depuis un éditeur qui insère des tabulations, ou quand deux personnes modifient le même fichier avec des réglages différents ; à l'écran les lignes semblent identiques, vous ne le trouverez pas à l'œil. python -m tabnanny app.py affiche les numéros de ligne fautifs, et le reste consiste à convertir tout le fichier en quatre espaces dans l'éditeur.
Q. Comment le corriger ?
python -m tabnanny app.py — avant de le lancer, vérifiez plus haut ce que cette commande jette.
Q. Quel outil émet cela ?
python. Cela relève de Python, et le message compte 9 mots.