ImportError: No module named utils
J'essaie d'importer un utilitaires fichier mais en cours d'exécution dans une erreur bizarre que quand je lance le code par l'intermédiaire d'un script.
Quand je le lance test.py
emplacement: /home/amourav/Python/proj/test.py
code:
import os
os.chdir(r'/home/amourav/Python/')
print os.listdir(os.getcwd())
print os.getcwd()
from UTILS import *
La sortie est:
['UTILS_local.py','UTILS.py', 'proj', 'UTILS.pyc']
/home/amourav/Python
Traceback (most recent call last):
Fichier "UNET_2D_AUG17.py", la ligne 11, en
à partir UTILS à l'importation *
ImportError: No module named UTILS
mais quand je lance le code via le terminal bash, il semble bien fonctionner
bash-4.1$ python
>>> import os
>>> os.chdir(r'/home/amourav/Python/')
>>> print os.listdir(os.getcwd())
['UTILS_local.py','UTILS.py', 'proj', 'UTILS.pyc']
>>> from UTILS import *
bla bla -tout va bien - blah blah
Je suis en cours d'exécution Python 2.7.10 sur une machine linux
OriginalL'auteur A.Mouraviev | 2017-08-17
Vous devez vous connecter pour publier un commentaire.
Votre projet ressemble à ceci:
Si vous souhaitez importer UTILS.py, vous pouvez choisir:
(1) ajouter le chemin d'accès à sys.chemin d'accès dans test.py
(2) créer un package (importations)
Maintenant, vous pouvez écrire ceci dans test.py si vous
import Python.proj.test
:MAUVAISE RÉPONSE
J'ai eu cette erreur plusieurs fois. Je pense, je me souviens.
Corrigé: ne pas exécuter
test.py
, exécutez./test.py
.Si vous avez un coup d'oeil à
sys.path
, vous pouvez voir qu'il y est une chaîne vide à l'intérieur qui est le chemin d'accès du fichier exécuté.test.py
ajoute''
àsys.path
./test.py
ajoute'.'
àsys.path
Les importations ne peuvent être effectuées à partir de
"."
, je pense.^^ Je suis en train d'essayer de le reproduire, mais je ne. Python 2.7.12
De la pensée, il a travaillé pour une seconde, mais nope. python ./test.py -> Erreur d'Importation
L'importation ne fonctionne quand utils fichier est dans le même répertoire que test.py
Je dois admettre, je n'ai pas de lire correctement à votre question avant de répondre.
OriginalL'auteur User