Python - Module introuvable
Je suis un débutant en Python. Avant de commencer, voici mon Python structure de dossier
-project
----src
------model
--------order.py
------hello-world.py
Sous src
j'ai un dossier nommé model
qui a un fichier Python appelé order.py
dont le contenu suit:
class SellOrder(object):
def __init__(self,genericName,brandName):
self.genericName = genericName
self.brandName = brandName
Suivant mon hello-world.py
est à l'intérieur de la src
dossier, un niveau au-dessus order.py
:
import model.order.SellOrder
order = SellOrder("Test","Test")
print order.brandName
Chaque fois que j'exécute python hello-world.py
il en résulte que l'erreur
Traceback (most recent call last):
File "hello-world.py", line 1, in <module>
import model.order.SellOrder
ImportError: No module named model.order.SellOrder
Est-il quelque chose que j'ai manqué?
source d'informationauteur user962206
Vous devez vous connecter pour publier un commentaire.
Tous les modules en Python ont une certaine structure de répertoire. Vous pouvez trouver plus de détails ici.
Créer un fichier vide appelé
__init__.py
en vertu de lamodel
répertoire, tels que votre structure de répertoire ressemblerait à quelque chose comme ça:Également dans votre
hello-world.py
fichier modifier l'importation l'énoncé suivant:Cela devrait résoudre le problème 🙂
P. S.: Si vous placez votre
model
répertoire dans un autre endroit (pas dans le même répertoire direction de), vous devez modifier le python chemin à l'aide desys.path
.vous avez besoin d'un fichier nommé
__init__.py
(deux caractères de soulignement de chaque côté) dans chaque dossier dans la hiérarchie, donc l'un danssrc/
et un enmodel/
. C'est ce que python recherche pour savoir à qui il doit de l'accès à un dossier en particulier. Les fichiers sont destinés à contenir de l'initialisation instructions, mais même si vous les créez vide, cela permettra de le résoudre.