Python测试无法导入他们正在测试的模块

时间:2014-07-25 14:39:11

标签: python import

我知道Python导入是一个长期头痛的问题,但我不明白为什么会这样做:

我有以下文件结构:

webapp/
    README.md
    ...
    webapp/
        __init__.py
        ...
        tests/
            __init__.py
            test_integration.py

webapp / init .py正在初始化Flask项目,而webapp / tests / test_integration.py正在尝试测试主页。

当我cd进入webapp/webapp并运行python tests/test_integration.py(包括行import webapp)时,我收到错误ImportError: No module named webapp。我尝试cd将一个目录放入上层webapp,然后下载到tests,但同样的交易。我尝试将内部webapp目录的绝对路径添加到PYTHONPATH,但没有用。

这很奇怪,因为我在另一个项目中使用了类似的结构,似乎工作正常。

此外,如果我将test_integration.py一直移动到外部webapp目录中,它运行得很好。测试不能在文件树中进一步import webapp的任何原因吗?

有什么见解?谢谢!〜

1 个答案:

答案 0 :(得分:0)

  

“我尝试将内部webapp目录的绝对路径添加到PYTHONPATH,但没有用。”

您需要将外部 webapp目录添加到PYTHONPATH

export PYTHONPATH=/path/to/webapp:$PYTHONPATH

然后您的内部webapp目录将可见,您可以将其导入。

相关问题