pモジュールaとを含むパッケージがありますb。aに依存していbます:
b.pyコンテンツ:
import a
ただし、からのモジュールだけでなく、同じパッケージディレクトリからモジュールをインポートするようにしたいです。bapaPYTHONPATH
だから私は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を使用しています