猿问

pytest的问题'导入错误:没有名为YadaYadaYada的模块'

pytest的问题'导入错误:没有名为YadaYadaYada的模块'

我使用easy_install在mac上安装pytest并开始为具有文件结构的项目编写测试,如下所示:

repo/repo/app.py
repo/settings.py
repo/models.py
repo/tests/repo/tests/test_app.py

py.test在repo目录中运行时,一切都按预期运行

但是当我在linux或windows上尝试相同的东西(两者都有pytest 2.2.3)时,每当它从我的应用程序路径首次导入某些内容时就会吠叫。比如说from app import some_def_in_app

我是否需要编辑我的PATH才能在这些系统上运行py.test?有没有人经历过这个?


牛魔王的故事
浏览 607回答 3
3回答

茅侃侃

是的,如果你cd到tests目录,源文件夹不在Python的路径中。你有2个选择:手动将路径添加到测试文件,如下所示:import sys, os myPath = os.path.dirname(os.path.abspath(__file__))sys.path.insert(0, myPath + '/../')使用env var运行测试PYTHONPATH=../。
随时随地看视频慕课网APP
我要回答