“ImportError: No module named...” lors de l'importation de mon propre module
Je suis en train d'importer un module et je reçois un ImportError.
Dans le PortfolioStatus.py fichier j'ai le code suivant qui importe le share_data classe à partir de la share_data.py module
from Shares.share_data import share_data
J'obtiens l'erreur suivante:
File "/home/lucasamos/FYP/Shares/Communication/PortfolioStatus.py", line 3, in <module>
from Shares.share_data import share_data
ImportError: No module named Shares.share_data
Pour rendre les choses plus confuses cela fonctionne très bien sur ma machine locale, mais je suis d'hébergement sur PythonAnywhere et c'est là que j'obtiens l'erreur
Mon fichier hiérarchie est montré dans l'image ci-dessous
Merci d'avance!
Quel est le répertoire de travail dans votre configuration d'exécution? Qui sera ajouté à
Découvrez guide détaillé pour le débogage sys.chemin d'accès et les questions d'importation sur PythonAnywhere
sys.path
. Si vous le faites, le répertoire du projet (en laissant le champ vide) Shares
devrait être importable.Découvrez guide détaillé pour le débogage sys.chemin d'accès et les questions d'importation sur PythonAnywhere
OriginalL'auteur Lucas Amos | 2016-02-22
Vous devez vous connecter pour publier un commentaire.
vous devriez essayer ceci:
Il ajoute à votre dossier de modèles à la liste de chemin de python est la vérification de modules.
share_data.py
fichier n'est pas dans le dossier modèles, c'est dans leShares
dossier. J'ai juste ajoutéShares
le chemin, cependant, et cela ne fonctionne pas 🙁My bad, je m'ennuie de le dossier fermé. Essayez d'ajouter le chemin d'accès complet au lieu du chemin d'accès relatif , de l'e.g "/home/Votrenom/PycharmProjects/PLAN/Actions"
Vous devez ajouter le répertoire contenant, pas le paquet lui-même.
Merci @HarryPotfleur mais cela ne fonctionne pas.
pourriez-vous élaborer? Je crains que je suis un peu un python n00b
OriginalL'auteur CoMartel
OK, donc j'ai finalement travaillé.
Comme indiqué par le peu de réponses que j'ai besoin d'ajouter mon dossier racine du chemin d'accès système.
En fin de compte, c'est ce que j'ai fait:
OriginalL'auteur Lucas Amos
Ajouter vide
__init__.py
sur un seul niveau avecmanage.py
fichier.Une telle inclusion de
__init__.py
fichier indique à l'interpréteur Python que le répertoire doit être traité comme un paquet Python.manage.py
? Cela ne fonctionne pas 🙁Pourrait être une bonne réponse, s'il contenait un certain contexte?
merci pour votre commentaire, bien sûr, je voudrais ajouter quelques explications pour cette réponse. Avoir une bonne journée)
OriginalL'auteur Andriy Ivaneyko
C'est probablement parce que vos Actions répertoire n'est pas dans votre PYTHONPATH.
Voir cet article sur l'utilisation de PYTHONPATH:
https://users-cs.au.dk/chili/PBI/pythonpath.html
Extrait:
OriginalL'auteur Jeff