Проблема с явным относительным импортом внутри пакета - PullRequest
0 голосов
/ 12 октября 2018

Я сталкиваюсь с очень расстраивающей синтаксической ошибкой, которая появляется в следующем сценарии:

package
    __init__.py
    module1.py
    module2.py

__init__.py содержит следующий импорт:

from . import module1

module1.pyсодержит следующий импорт:

from . import module2

Я получаю синтаксическую ошибку правильно, когда она достигает явного относительного импорта в module1.py, поэтому может показаться, что импорт в __init__.py работает правильно.

Раньше у меня были настройки, куда я импортировал module1.py, например:

from package import module1

, который работал правильно, поэтому я очень озадачен, почему я получаю эту ошибку ...

Любая помощь будет высоко ценится!Спасибо!

Ответы [ 2 ]

0 голосов
/ 20 октября 2018

Почему бы вам просто не использовать import module1 и import module2?Все 3 файла находятся в одном каталоге.

0 голосов
/ 20 октября 2018

В итоге я вернулся в предыдущее рабочее состояние и переписал оттуда.Кажется, что проблема исчезла, поэтому, по крайней мере, я могу двигаться вперед, но я, к сожалению, не знаю, что ее вызвало.

Во время переписывания я столкнулся с похожей проблемой (ошибка синтаксиса), котораябыло связано с тем, как я пытался импортировать функции из модуля в пакете, например:

from . import module.function as name # causes syntax error

from .module import function as name # seems to work correctly

Кажется, что это могло быть связано, но это не было частью кода, когда я изначальноопубликовал этот вопрос, так что я не уверен, что он уместен ...

...