2017-07-27 1 views
1

J'ai la structure de fichier suivant ...Python 3 - Module non trouvé

> Boo 
    > ---modA 
    > ------__init__.py 
    > ------fileAA.py 
    > ---modB 
    > ------__init__.py 
    > ------fileBB.py 

A l'intérieur fileBB.py que je fais

from modA.fileAA import <something> 

Je reçois l'erreur suivante:

from modA.fileAA import <something> 
ModuleNotFoundError: No module named 'modA' 

Notez que les fichiers init .py sont vides et utilisent Python 3.

Qu'est-ce que je manque ou fais mal ici?

Merci !!!

+0

Où est le script Python? Si vous exécutez 'python3 fileBB.py' directement, il ne recherchera pas les modules dans l'arborescence. – Duncan

+1

mettre '__init __. Py' dans Boo? – minhhn2910

+1

Exécutez-le depuis le répertoire Boo –

Répondre

1

Il s'agit presque certainement d'un numéro de PYTHONPATH d'où vous exécutez votre script. En général, cela fonctionne:

$ ls modA/ 
fileAA.py __init__.py 
$ cat modA/fileAA.py 
x = 1 
$ python3 
Python 3.5.3 (default, Jan 19 2017, 14:11:04) 
[GCC 6.3.0 20170118] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> from modA.fileAA import x 
>>> x 
1 

Vous pouvez regarder sys.path pour inspecter votre chemin.