2017-12-27 4 views
0

Dieser Code funktioniert, wenn Sie auf der interaktiven Konsole ausführen:pytest: Modul importiert nicht, wenn sie von pytest laufen, sondern arbeitet auf einfachen Python

>>> import sys 
>>> sys.path.append("/path/to/mypkg") 
>>> import mypkg.src.dbwrapper as dbw 

Aber nicht dies mag:

$ cd /path/to/mypkg 
$ python py -m pytest 
mypkg/src/dbwrapper_queries.py:3: in <module> 
    import mypkg.src.dbwrapper as ec 
E ImportError: No module named mypkg.src 

ich leite Python 2.7.14

Was könnte ich vermissen? Es ist derselbe Import, der fehlschlägt, wenn er über pytest aufgerufen wird, aber funktioniert, wenn nur python ausgeführt wird und dann auf der Konsole importiert wird.

Ed: Ich vermisse keine __init__.py Dateien - ich habe sie in jedem Level.

+0

yeap überall. Lass mich meine Frage aktualisieren. – ghostrider

Antwort

0

Sollten Sie nicht ein Äquivalent von sys.path.append("/path/to/mypkg") in pytest? Tipp: Definieren Sie PYTHONPATH!

cd /path/to/mypkg 
PYTHONPATH=/path/to/mypkg python py -m pytest