ディレクトリ構造を想像してください。
/
/
__init__.py
b.py
c.py
c.py
ファイル/a/b.pyは次のようになります。
インポート c should_be_absolute = c
他のすべてのファイル (を含む__init__) は空です。
テスト スクリプトを実行する場合 (python 2.7 を使用):
import a.b
print a.b.should_be_absolute
PYTHONPATH=/空のディレクトリから(したがって、現在のディレクトリからは何も追加されません)PYTHONPATH取得します
<module 'a.c' from '/a/c.py'>
PEP 328import <> is always absoluteと私が期待する声明によると:
<module 'c' from '/c.py'>
ファイルを削除すると、出力は期待どおりになり/a/c.pyます。
私は何が欠けていますか?そして、これが正しい動作である場合 - (の代わりに)cからモジュールをインポートする方法は?ba.c
アップデート:
python dev メーリング リストによると、ドキュメントのバグのようです。Python27 では、インポートはデフォルトで絶対ではありません。