p
モジュールa
とを含むパッケージがありますb
。a
に依存していb
ます:
b.py
コンテンツ:
import a
ただし、からのモジュールだけでなく、同じパッケージディレクトリからモジュールをインポートするようにしたいです。b
a
p
a
PYTHONPATH
だから私はb.py
次のように変更しようとしています:
from . import a
これは、パッケージディレクトリb
の外にいるときにインポートする限り機能します。p
次のファイルがあるとします。
/tmp
/p
a.py
b.py
__init__.py
次の作品:
$ cd /tmp
$ echo 'import p.b' | python
以下は機能しません。
$ cd /tmp/p
$ echo 'import b' | python
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "b.py", line 1, in <module>
from . import a
ValueError: Attempted relative import in non-package
なんで?
PS私はPython2.7.3を使用しています