【发布时间】:2013-01-24 19:43:22
【问题描述】:
我在以下目录结构中有一个 2.6 python 脚本和库:
+ bin
\- foo.py
+ lib
\+ foo
\- bar.py
我希望用户运行bin/foo.py 来实例化lib/foo.py 中的类。为此,在我的bin/foo.py 脚本中,我有以下代码:
from __future__ import absolute_import
import foo
klass = foo.bar.Klass()
但是,这会导致:
AttributeError: 'module' object has no attribute 'bar'
即它认为foo 本身而不是库foo - 将bin/foo.py 重命名为bin/foo-script.py 可以正常工作。
有没有办法可以保留bin/foo.py 脚本并导入lib/foo.py?
【问题讨论】:
-
你试过
import foo as bar吗?
标签: python import namespaces