[問題] 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