Импорт модулей между дочерними подпакетами в python(внутрипакетные ссылки)

Я читал документацию по модулю Python здесь: https://docs.python.org/3/tutorial/modules.html и пытался понять ссылки внутри пакета: https://docs.python.org/3/tutorial/modules.html, используя sound Пример создания той же структуры каталогов и оставления всех файлов изначально пустыми. Согласно связанной документации:

Когда пакеты структурированы в подпакеты (как в случае со звуковым пакетом в примере), вы можете использовать абсолютный импорт, чтобы ссылаться на подмодули пакетов одного уровня. Например, если модуль sound.filters.vocoder должен использовать модуль echo в sound.effects пакет, он может использовать from sound.effects import echo,

Тем не менее, когда я пытаюсь это на моем локальном компьютере, как с настройкой содержимого sound/filters/vocoder.py чтобы:

from sound.effects import echo

Запуск как с:

$python vocoder.py

Я получаю ошибку:

Traceback (most recent call last):
  File "vocoder.py", line 1, in <module>
    from sound.effects import echo
ImportError: No module named sound.effects

Если я пойду в sound и попробуйте следующее в оболочке iPython и попытайтесь импортировать пакет как:

In [2]: import filters.vocoder
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-2-0217a888946e> in <module>()
----> 1 import filters.vocoder

/home/rootavish/sound/filters/vocoder.py in <module>()
----> 1 from sound.effects import echo

ImportError: No module named sound.effects

или же

In [3]: import sound.filters.vocoder
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-3-09d9adcc27d8> in <module>()
----> 1 import sound.filters.vocoder

ImportError: No module named sound.filters.vocoder

У меня все еще есть проблемы.

Так чего мне здесь не хватает? Я думал, что абсолютный импорт был подходом для работы с подпакетами.

0 ответов

Другие вопросы по тегам