【发布时间】:2014-01-08 17:30:12
【问题描述】:
我一直在寻找解决这个问题的方法。
我有一个python项目,这是我想要的文件夹结构:
/project/main.py
/project/src/models.py
/project/test/tests.py
我希望能够通过在终端中执行 tests.py 来运行测试。 tests.py 在 /project/src/ 中导入模块进行测试。首先我通过添加解决了这个问题
sys.path.insert(0, '..') 在 tests.py 中。但是 models.py 中用于打开文本文件的路径必须相对于 tests.py 等。这意味着程序在执行时不会运行main.py,路径的原因。
在将模块导入tests.py 时,我也尝试使用dots,例如from ..src.models import *,但出现错误消息“尝试在非包中进行相对导入”。
我应该在 tests.py 的顶部放什么才能从 models.py 中导入模块?
【问题讨论】:
-
你用的是什么版本的 Python?
标签: python path relative-path python-module