Я не уверен, что является причиной проблемы.Но исправление для этого состоит в том, чтобы удалить все атрибуты в флагах, прежде чем вы фактически определите флаги, используя следующий код:
for name in list(flags.FLAGS):
delattr(flags.FLAGS,name)
Надеюсь, это поможет.Любой, кто знает действительную причину проблемы, может ответить на нее точно.
ОБНОВЛЕНИЕ: причина частично решена в этом Запуск модуля в пакете, импорт подпакета .Вывод: если вы часто запускаете модуль в виде сценария, вам, вероятно, следует создать новый модуль сценария верхнего уровня, который импортирует модуль из пакета и запускает нужный код.Это предотвращает потенциальное существование модуля, заполненного кодом дважды, а также позволяет извлечь выгоду из загрузки кэшированного байт-кода из файла .pyc (что может ускорить запуск вашей программы).
Мой пакет имелциклическая зависимость.Следовательно, это может быть проблемой.Мне даже не нужно было удалять атрибут после того, как я переместил свой основной скрипт из пакета и запустил его нормально.