Принудительно импортировать модуль из текущего каталога
У меня есть посылка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 "", line 1, in
File "b.py", line 1, in
from . import a
ValueError: Attempted relative import in non-package
Зачем?
Постскриптум Я'используя Python 2.7.3