次のディレクトリ構造に2.6pythonスクリプトとライブラリがあります。
+ 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
ますか?