[问题] search path 及 relative import的问题

楼主: dcleft (肥猪去死吧)   2014-07-27 10:24:49
大家好,想请问2个问题
1. PythonPath 这环境变量是指定 import module 的search path, 请问我要如何指定
main script file的search path呢?
2. 假设package目录如下
- top.py
- package1\
- a.py
- b.py
(1) a.py 有self unit test function,所以希望可以当main script
(2) a.py 有 import b
(3) top.py 有 import package1.a
我遇到的问题是,如果我想满足(1),则(2)要写成 import b
如果我想满足(3),则(2)要写成 from . import b
如果我想同时满足(1)&(3),请问有什么好方法吗?
谢谢
作者: ck574b027 (荒围!定厝!贼!妹!)   2014-07-27 10:42:00
在 package1 加 __init__.py
楼主: dcleft (肥猪去死吧)   2014-07-27 15:23:00
回楼上,我加了__init__.py, 执行 a.py 时还是有问题...Parent module '' not loaded, cannot perform relative import, ps. a.py中是这样 from . import b
作者: ck574b027 (荒围!定厝!贼!妹!)   2014-07-28 01:29:00
我是两种 import b 都可以
作者: KSJ (阿真)   2014-07-28 08:14:00
满足3不是也是import b吗?! 还是我误解什么...?
作者: mist719   2014-07-28 20:41:00
circular import?

Links booklink

Contact Us: admin [ a t ] ucptt.com