的命名空間我有以下目錄結構的2.6 python腳本和庫:改變目前的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
?
你試過'導入富作爲酒吧? –