此代码在交互式控制台上运行时有效:
>>> 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 :(得分:0)
你不应该在sys.path.append("/path/to/mypkg")
中做同等的pytest
吗?提示:定义PYTHONPATH!
cd /path/to/mypkg
PYTHONPATH=/path/to/mypkg python py -m pytest