J'essaie d'importer un module et j'obtiens une erreur ImportError.
Dans le fichier PortfolioStatus.py, j'ai le code suivant qui importe la classe share_data à partir du module share_data.py
from Shares.share_data import share_data
Je reçois 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 bien sur ma machine locale mais j'héberge sur PythonAnywhere et c'est là que j'ai l'erreur
Ma hiérarchie de fichiers est visible dans l'image ci-dessous
Merci d'avance!
OK alors j'ai finalement réussi. Comme indiqué par quelques réponses, je devais ajouter mon dossier racine au chemin système.
En fin de compte c'est ce que j'ai fait:
import sys
sys.path.append("/home/lucasamos/FYP")
vous devriez essayer ceci:
import sys
sys.path.append("../Shares/templates")
import share_data
Il ajoute votre dossier de modèles à la liste des chemins d'accès vérifiés par python pour les modules.
Ajoutez __init__.py
vide sur un niveau avec le fichier manage.py
.
Une telle inclusion du fichier __init__.py
indique à l'interpréteur Python que le répertoire doit être traité comme un paquet Python.
Cela est probablement dû au fait que votre répertoire de partages ne se trouve pas dans votre PYTHONPATH.
Voir cet article sur l’utilisation de PYTHONPATH: https://users-cs.au.dk/chili/PBI/pythonpath.html
Extrait:
Cependant, vous devrez souvent importer un module qui ne se trouve pas dans le même répertoire que le programme principal. En reprenant l'exemple ci-dessus, supposons que vous écriviez un programme situé dans ~/PBI/qui doit inclure mymodule.py.
Pour que l’interprète Python trouve votre module, vous devez lui indiquer où chercher. Vous pouvez le faire en définissant la variable d’environnement PYTHONPATH. En fonction du programme Shell que vous utilisez (par exemple, xterm), cela se fait de deux manières.
Frapper:
export PYTHONPATH = $ {PYTHONPATH}:/utilisateurs/[votre nom d'utilisateur]/PBI/Modules /