作者huggie (huggie)
看板Python
标题[问题] Package & PYTHONPATH
时间Thu Jul 23 14:53:58 2009
假设我有以下结构
main.py
Apackage/
__init__.py
file1.py
file2.py
file1.py 要用到 file2.py 的 foo()
因此在 file1.py 里面有一行:
from Apackage.file2 import foo
平常我执行是 main.py,没什麽问题。
但我 file1.py 里面的 if __name__ == '__main__' 里面有针对 file1.py 的
unit test。如果我直接执行 file1.py,例如: /home/xxx/yyy/Apackage/file1.py
时,他会说 No module named Apackage。
这时怎麽办?我现在直接 run file1.py 的时後会选择先设定环境变数 PYTHONPATH。
但有更理想的作法吗?又大家是怎麽整理 unittest 架构的?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.129.160.62
※ 编辑: huggie 来自: 140.129.160.62 (07/23 14:55)
1F:推 liangjr:我通常会有file1_test.py file2_test.py跟file1, file2 07/23 17:02
2F:→ liangjr:同一层 然後另外一个test runner里面import所有的test 07/23 17:03
3F:→ liangjr:我也很好奇其他人都用什麽架构 07/23 17:03
4F:→ huggie:你的方法比较理想 07/24 11:07
5F:→ huggie:怎麽没人给其他意见了 07/25 15:19
6F:→ huggie:奇怪..我放了 file1_test.py 之後,再放 test runner, 07/25 15:38
7F:→ huggie:test 就不跑了耶..=/ 07/25 15:38
8F:→ huggie:他会说 run 0 tests 07/25 15:39