我的项目目录结构如下:
/foo/baz/__init__.py /bar/foo.py /bar/splat.py
问题是,/bar/splat.py
是指foo.baz
模块。此操作因错误No module named baz
而失败,因为它正在尝试在/bar/foo.py
内搜索此模块。我不希望Python搜索bar
模块,我想告诉它在根foo
模块中搜索baz
。我怎么做?在Ruby中,您只需在标识符前加上::
(在本例中为::Foo::Baz
),是否有与之等效的Python?
答案 0 :(得分:4)
在Python 2.5和2.6中,
from __future__ import absolute_import
应该改变Python的import
行为来做你想要的(如果根目录,/,当然是sys.path
;-)。这成为2.7中的正常Python行为(尚未发布,但如果你很好奇,早期的alpha已被标记)。