Итак, когда кто-то конвертирует
Код: Выделить всё
project/
distributed.py
Код: Выделить всё
project/
distributed/
__init__.py
Код: Выделить всё
import distributed.__init__
# and/or
import distributed.__init__ as distributed
- Как распределенный, так и распределенный.__init__ появляются в sys.modules.
- выполняется дважды, и Python будет создавать новый объект модуля при каждом запуске. Таким образом, sys.modules["distributed"] не является sys.modules["distributed.__init__"], и большинство объектов, определенных непосредственно в распределенном.__init__, не будут сравнивать идентичность между этими двумя версиями модуля.
Код: Выделить всё
distributed.__init__
Если ответ очевиден "
Код: Выделить всё
distributed.__init__Если ответ, специфичный для CPython, можно найти в его исходном коде, это также будет полезно.
(Я не ищу альтернативы информации о типизации пакета, например распространение одной заглушки .pyi и/или публикацию в typeshed - я уже знаю таких альтернатив.)
Подробнее здесь: https://stackoverflow.com/questions/798 ... kg-init-as
Мобильная версия