Maison > Article > développement back-end > Voici quelques titres basés sur des questions qui correspondent au contenu de l'article : * \"ModuleNotFoundError : Aucun module nommé \'x\' - Pourquoi est-ce que j'obtiens cette erreur dans Python 3 ?\" * \"Pourquoi ne puis-je pas impo
Importations relatives dans Python 3 : dépannage de ModuleNotFoundError
Dans Python 3, les importations relatives vous permettent d'importer des modules dans le même package. Cependant, lorsque vous rencontrez l'erreur « ModuleNotFoundError : Aucun module nommé 'x' », il est crucial de comprendre la différence entre les importations relatives et absolues.
Importations absolues
Importations absolues localisez les modules sur le sys.path, la liste des répertoires que Python recherche les modules. Pour effectuer une importation absolue, utilisez la syntaxe suivante :
<code class="python">import module</code>
Dans votre exemple, l'importation absolue de config.py ressemblerait à ceci :
<code class="python">import config</code>
Importations relatives
Les importations relatives importent des modules par rapport à l'emplacement du module actuel dans un package. Pour effectuer une importation relative, utilisez la syntaxe suivante :
<code class="python">from . import module</code>
Cependant, les importations relatives nécessitent que le module soit dans un package. Si test.py n'est pas dans un package, une importation relative ne fonctionnera pas.
Dépannage
Sur la base du code fourni, le problème est que test.py est tenter d'effectuer une importation relative alors qu'elle ne fait pas partie d'un package. Le message d'erreur "ImportError : impossible d'importer le nom 'config'" indique que le module de configuration est introuvable dans le chemin relatif.
Solution
Pour résoudre ce problème, vous pouvez intégrer test.py à un package en ajoutant un fichier __init__.py dans le même répertoire que test.py. Alternativement, vous pouvez utiliser l'importation absolue comme suit :
<code class="python">import config</code>
Cela recherchera config.py dans le sys.path, garantissant que l'importation fonctionne comme prévu.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!