


Importations relatives : une plongée plus approfondie
Dans le monde de la programmation Python, les importations relatives sont une source courante de confusion. Cet article explore les subtilités des importations relatives, en abordant le message d'erreur omniprésent « Tentative d'importation relative dans un non-package ».
La distinction entre script et module
Comprendre la différence fondamentale entre un script et un module est cruciale. Lorsque vous exécutez directement un fichier Python, il devient un script et reçoit le nom __main__. En revanche, lorsqu'un fichier est importé, il devient un module avec un nom qui inclut sa position dans la hiérarchie des packages.
Nom du module
Le nom attribué à un module dépend s'il a été importé depuis un package ou directement depuis son répertoire. Si un module est importé à partir d'un package, son nom suit le chemin du package séparé par des points et de son sous-package contenant (par exemple, package.subpackage1.moduleA). Cependant, si un module est importé directement depuis son répertoire, son nom sera uniquement le nom du module (par exemple, moduleA).
Importations et packages relatifs
Importations relatives s'appuyer sur le nom d'un module pour déterminer sa position dans la hiérarchie des packages. Si le nom d'un module ne contient aucun point, il n'est pas considéré comme faisant partie d'un package. Cela signifie que les importations relatives tentant de traverser en dehors du répertoire actuel du module échoueront avec l'erreur « importation relative dans un non-package ».
Résoudre l'erreur
À résolvez cette erreur, envisagez les solutions suivantes :
- Utilisez l'option -m : Préfixez la commande utilisé pour exécuter le script avec -m, ce qui indique qu'il doit être traité comme un module et non comme un script. Exemple : python -m package.subpackage1.moduleX
- Déplacez le script hors du répertoire du package : Créez un répertoire séparé pour exécuter le script et importez les modules du package dans ce script. Cela garantit que le script est chargé en tant que script avec le nom main, permettant aux importations relatives de fonctionner correctement.
Gardez à l'esprit que le répertoire du package doit être inclus dans le fichier Python. chemin de recherche du module (sys.path) pour que ces solutions fonctionnent. De plus, à partir de Python 2.6, les modules ont à la fois les attributs name et package qui influencent leur nom effectif.
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!

Python convient à la science des données, au développement Web et aux tâches d'automatisation, tandis que C convient à la programmation système, au développement de jeux et aux systèmes intégrés. Python est connu pour sa simplicité et son écosystème puissant, tandis que C est connu pour ses capacités de contrôle élevées et sous-jacentes.

Vous pouvez apprendre les concepts de programmation de base et les compétences de Python dans les 2 heures. 1. Apprenez les variables et les types de données, 2. Flux de contrôle maître (instructions et boucles conditionnelles), 3. Comprenez la définition et l'utilisation des fonctions, 4. Démarrez rapidement avec la programmation Python via des exemples simples et des extraits de code.

Python est largement utilisé dans les domaines du développement Web, de la science des données, de l'apprentissage automatique, de l'automatisation et des scripts. 1) Dans le développement Web, les cadres Django et Flask simplifient le processus de développement. 2) Dans les domaines de la science des données et de l'apprentissage automatique, les bibliothèques Numpy, Pandas, Scikit-Learn et Tensorflow fournissent un fort soutien. 3) En termes d'automatisation et de script, Python convient aux tâches telles que les tests automatisés et la gestion du système.

Vous pouvez apprendre les bases de Python dans les deux heures. 1. Apprenez les variables et les types de données, 2. Structures de contrôle maître telles que si les instructions et les boucles, 3. Comprenez la définition et l'utilisation des fonctions. Ceux-ci vous aideront à commencer à écrire des programmes Python simples.

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

Comment éviter d'être détecté lors de l'utilisation de FiddlereVerywhere pour les lectures d'homme dans le milieu lorsque vous utilisez FiddlereVerywhere ...

Chargement des fichiers de cornichons dans Python 3.6 Rapport de l'environnement Erreur: modulenotFoundError: NomoduLenamed ...

Comment résoudre le problème de la segmentation des mots jieba dans l'analyse des commentaires pittoresques? Lorsque nous effectuons des commentaires et des analyses pittoresques, nous utilisons souvent l'outil de segmentation des mots jieba pour traiter le texte ...


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

MinGW - GNU minimaliste pour Windows
Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

Navigateur d'examen sécurisé
Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),