У меня вопрос по импорту. Вопрос может показаться немного надуманным, но его цель - изучить ограничения использования абсолютного импорта для всех операций импорта в пакете. PEP8 настоятельно не приветствует относительный импорт (отредактируйте: и в Руководстве по стилю Google Python говорится, что никогда не следует их использовать).
Допустим, вам даны два больших пакета, у которых оба одинаковых name и оба используют абсолютный импорт в соответствии с PEP8:
/pkg1 mod1.py (contains an absolute import: 'import pkg1.mod2') mod2.py ... /pkg1 mod1.py (contains an absolute import: 'import pkg1.mod3') mod3.py ...
Также предположим, что вы работаете над проектом Python, в котором вы хотите использовать оба пакета. Это может произойти, например, если вы хотите использовать две версии одного и того же пакета в проекте.
Есть ли способ включить оба пакета в иерархию вашего проекта, чтобы вы могли свободно использовать модули из обоих пакетов в вашем проекте ?
В качестве решения допустимо использовать псевдонимы импорта и временно изменять sys.path. Но нельзя изменять содержимое любого каталога пакетов.