Короткий ответ - нет, Python не принимает два пакета с одинаковыми именами. (Существуют вещи, называемые «пакетами пространства имен», которые позволяют одному пакету быть реализованным в нескольких каталогах, но они требуют, чтобы соответствующие пакеты были настроены для взаимодействия друг с другом).
Способ, которым PEP 8 препятствует явному относительному импорту, является одним из его более сомнительных советов, именно потому, что он затрудняет переименование пакета, чтобы избежать конфликтов имен. Если два пакета используют относительный импорт, вы можете просто переименовать один из них или вложить его в другой пакет и покончить с этим.
псевдонимы импорта здесь вам не помогут, потому что именно имя, заканчивающееся на sys.modules
, имеет значение и использует имя модуля в качестве импортированного, а не имя, которое в конечном итоге будет связано при импорте модуль.
Если вы хотите стать действительно экзотичным, вы можете написать свой собственный импортер (см. PEP 302 и 3.x importlib
документация ). Если вы решите зайти так далеко, вы можете делать практически все, что захотите.