Как определяется «текущий пакет» в Python 3? - PullRequest
0 голосов
/ 08 апреля 2020

В нескольких обсуждениях относительных ссылок для ключевого слова Python import используется фраза «текущий пакет», но нигде четко не определена, по крайней мере, я могу найти. Единственный совет, который я могу найти, это Относительный импорт в миллиардный раз , но это не дает четкого ответа.

Например, «5.7. Относительный импорт пакетов. Относительный импорт использует начальные точки. Одна начальная точка указывает относительный импорт, начиная с текущего пакета . Две или более ведущих точек указывают относительный импорт к родителю (ям) текущего пакета , один уровень на точку после первого. " https://docs.python.org/3/reference/import.html (выделение добавлено.)

Что именно означает «текущий пакет»? Я не спрашиваю о том, как работает структура пакета или как установить sh. Если было загружено более одного пакета, что определяет, какой пакет является «текущим»? Зависит ли это от порядка других выражений импорта?

Возникает вопрос, когда я пытаюсь определить, почему преобразователь 2to3 произвел, например,

-import Foo

+ с. import Foo

с заменой неквалифицированной ссылки на квалифицированную.

...