Почему импорт с каталогом верхнего уровня работает в Python без init? - PullRequest
0 голосов
/ 28 октября 2019

enter image description here

Я клонировал проект здесь: https://github.com/open-switch/opx-tools и загрузил его в PyCharm, чтобы выполнить некоторую отладку. Чего я не понимаю, так это в оригинальной строке from opx_tools.opx_config_utils import *. У меня OpenSwitch работает на реальном коммутаторе с этим импортом, и он работает просто отлично, но я не понимаю, почему.

opx_tools - это имя каталога верхнего уровня, и в нем нет файла __init__Также нет файла с именем opx_config_utils в каталоге верхнего уровня. opx_config_utils существует, но он находится в каталоге lib. В моем экземпляре PyCharm изменение opx_tools на lib в импорте исправляет импорт и позволяет мне искать объявления и т. Д.

В чем разница между моей средой PyCharm и рабочей средой? Почему работает opx_tools?

...