没有模块'使用Nosetests在目录中使用__init__.py时出错

时间:2015-09-13 02:36:34

标签: python python-2.7 import python-module

我有以下目录结构:

Chippa/

      bin/
         __init__.py
         app.py

      tests/
         __init__.py
         app_tests.py
         tools.py

      templates/
         hello_form.html
         index.html
         layout.html

      docs/

在我的app_tests.py文件中,我有:

from nose.tools import *
from bin.app import app
from tests.tools import assert_response

当我尝试从app_tests.py目录外部运行tests时,在Chippa目录内的测试目录上方一级,如下所示:

python tests/app_tests.py

我收到以下错误:

Traceback (most recent call last):
  File "tests/app_tests.py", line 3, in <module>
    from bin.app import app
ImportError: No module named bin.app

但我在__init__.py目录中确实有一个空的bin,我认为这会阻止这个问题。我在这里错过了什么?

1 个答案:

答案 0 :(得分:2)

要使该导入起作用,您必须首先运行正确的模块。所以,而不是

python tests/app_tests.py

,试试

python -m tests.app_tests