2017-12-27 10 views
0

pytest:pytestから実行が、無地のpythonで動作したときにモジュールがインポートされていないインタラクティブなコンソール上で実行した場合、このコードが動作する

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

しかし、このようにしない:

$ 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 

私が実行していますがPython 2.7.14

どうしたらよいですか?これはpytestで呼び出されたときに失敗するのと同じインポートですが、Pythonだけを実行してからコンソールにインポートするときに機能します。

Ed:私は__init__.pyファイルを紛失していません - 私はすべてのレベルでそれらを持っています。

+0

yeap everywhere。私の質問を更新させてください。 – ghostrider

答えて

0

sys.path.append("/path/to/mypkg")の相当物をpytestにしてはいけませんか?ヒント:PYTHONPATHを定義してください!

cd /path/to/mypkg 
PYTHONPATH=/path/to/mypkg python py -m pytest 
関連する問題