如何从python中的包导入非包

时间:2018-05-29 09:07:26

标签: python unit-testing packages pytest

这是应用程序结构。

app/
  setup.py
  package/
    __init__.py
    file.py 
  tests/
   tests.py
  ...

我正在尝试从file.py导入tests.py,但它正在投掷ValueError: Attempted relative import in non-package

因此我的问题是如何从python中的包导入非包装?

3 个答案:

答案 0 :(得分:0)

tests.py

中使用以下代码
from ..package import file

答案 1 :(得分:0)

您可以在tests.py中使用importlib中的import_module

from importlib import import_module

files = import_module("package.file")

就我所见,也可用于python 2.7。

修改 这假设顶层结构应用程序'是一个包。即有一个__init__.py文件

答案 2 :(得分:0)

或者您可以添加sys:

的路径
import sys
sys.path.append('/path/to/folder/')
import file