在目录中运行python脚本时导入错误?

时间:2013-06-07 14:06:02

标签: python

我有一个有app的目录,它在'tests'目录中有相应的测试脚本文件。

project/
--myapp/
--__init__.py(<-- updated)
--tests/
  --tests1.py
  --tests2.py etc
--run_tests.py

runtests.py递归遍历'tests'目录并执行其中的所有python脚本。

tests*.py必须导入myapp才能运行测试。由于tests*.py文件位于“tests”目录中,因此无效。

如何让'myapp'可用于'tests'目录中的所有tests*.py个文件?我认为在PYTHONPATH中设置'myapp'会有简单的解决方案。

注意:nosetests tests/可行。所以,只是好奇它是如何工作的。

提前致谢。

2 个答案:

答案 0 :(得分:1)

如果myapp在pythonpath中:

from myapp import mymodule

您也可以进行相对导入:

from .. import mymodule

答案 1 :(得分:0)

Python有一个使目录成为包( init .py)的功能。这样,每个.py文件都成为该模块的一部分。

尝试查看此帖

What is __init__.py for?