pytest:从pytest运行时不导入模块,但在普通python上运行

时间:2017-12-27 15:20:15

标签: python pytest

此代码在交互式控制台上运行时有效:

>>> 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个文件 - 我确实在每个级别都有它们。

1 个答案:

答案 0 :(得分:0)

你不应该在sys.path.append("/path/to/mypkg")中做同等的pytest吗?提示:定义PYTHONPATH!

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