本意是尽量不影响各自模块的独立和完整性,不过很可耻的失败了。整体的目录结构差不多是这个样子:(全是目录,不是py文件)
引用
a-x
|-y
|-z
b-x
|-y
|-z
c-x
|-y
|-z
那么我另外起个d目录,来独立引用各独立包
import sys sys.path.append('..')
原则上就可以自由的操作各模块了,我的失败在于,各模块之间的子目录甚至py文件都会存在重名...最靠谱的方式自然是统一命名规范,然而这里为了速度,灵活起见,在各模块的根__init__.py中将所有py都直接import引入。
还有一点很重要(尤其是在交叉引用的时候),最好不要用
from xxx import xx
句式,而统一用
import xxx
xxx.xx
这样会减少很多意料之外的麻烦~