"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Pourquoi est-ce que je reçois une ImportError « Mauvais numéro magique » en Python ?

Pourquoi est-ce que je reçois une ImportError « Mauvais numéro magique » en Python ?

Publié le 2024-11-06
Parcourir:321

 Why am I getting a \

Mauvais nombre magique : comprendre l'erreur d'importation

Lorsque vous travaillez avec Python, rencontrer le "Mauvais nombre magique" ImportError peut être frustrant. Cette erreur indique un fichier pyc corrompu, la version compilée de votre script Python, ce qui entraîne une incompatibilité avec l'interpréteur Python.

Comprendre le nombre magique

Sous UNIX -type systèmes, les fichiers commencent par un marqueur spécial, appelé nombre magique, indiquant le type de fichier. Python intègre un concept similaire dans ses fichiers pyc lors de leur création, garantissant la vérification lors du chargement.

Causes de l'erreur

L'erreur "Mauvais numéro magique" se produit lorsque Le numéro dans un fichier pyc est endommagé. Cela peut se produire en raison de :

  • Modification directe du fichier pyc
  • Exécution du fichier pyc avec une version Python différente à partir de laquelle il a été compilé
  • Corruption du fichier ou du système erreurs

Résolution du problème

Pour résoudre cette erreur, suivez ces étapes :

  • Supprimez les fichiers pyc corrompus à l'aide de rm *.pyc.
  • Si les fichiers pyc appartiennent à des modules externes, vous devrez contacter le développeur pour les fichiers py et les recompiler.

Problèmes d'importation intermittents

Dans de rares cas, l'erreur d'importation peut se produire par intermittence. Cela peut être dû au fait que le fichier pyc problématique n'est importé que dans des conditions spécifiques. Examinez la trace complète de la pile lorsque l'erreur se produit pour plus de détails.

Valeurs des nombres magiques

Le premier mot d'un fichier pyc représente le nombre magique. Sa valeur dépend de la version de Python :

Python Version | Magic Number
--------------|----------------
2.5.1(r251)    | 62131
2.6.1(r261)    | 62161

Une liste complète des valeurs de nombres magiques peut être trouvée dans Python/import.c pour votre référence.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3