CPython имеет странное поведение, когда он устанавливает модули в None во время выключения. Это приводит к сбою регистрации ошибок во время выключения некоторого кода многопоточности, который я написал.
Я не могу найти документацию по этому поведению. Он упоминал попутно в PEP 432:
[...] значительно уменьшает количество модулей, которые будут испытывать поведение "глобальные глобальные модули" на "Нет", которое используется для преднамеренного прерывания циклов и попытки очистить больше внешних ресурсов.
Есть вопросы SO о таком поведении и Документация C API упоминает поведение выключения для встроенных переводчики.
Я также нашел связанный поток на python-dev и связанная ошибка CPython:
Этот патч не изменяет поведение модуля объекты, очищающие словарь глобалов, как только они освобождаются.
Где такое поведение задокументировано? Является ли это Python 2 конкретным?