Я не уверен, что является причиной проблемы. Но исправление для этого состоит в том, чтобы удалить все атрибуты в флагах, прежде чем вы фактически определите флаги, используя следующий код:
for name in list(flags.FLAGS):
delattr(flags.FLAGS,name)
Надеюсь, это поможет. Любой, кто знает действительную причину проблемы, может ответить на нее точно.
ОБНОВЛЕНИЕ: причина частично решена в этом Запуск модуля в пакете, импорт подпакета . Вывод: если вы часто запускаете модуль в виде сценария, вам, вероятно, следует создать новый модуль сценария верхнего уровня, который импортирует модуль из пакета и запускает нужный код. Это препятствует тому, чтобы модуль с полным кодом потенциально мог существовать дважды, а также позволяет извлечь выгоду из загрузки кэшированного байт-кода из файла .pyc (что может ускорить запуск вашей программы).
У моей посылки была циклическая зависимость. Следовательно, это может быть проблемой. Мне даже не нужно было удалять атрибут после того, как я переместил свой основной скрипт из пакета и запустил его нормально.
Чтобы отключить файлы подкачки из vim, введите
:set noswapfile
Чтобы навсегда отключить файлы подкачки, добавьте нижеприведенное в свой ~ / .vimrc
file
set noswapfile
Подробнее см. В Документах Vim для файла подкачки
Я нашел ответ здесь :
vim -n <file>
открывает файл без файла подкачки.
Кроме того:
set dir=/tmp
в .vimrc
создает swapfiles в / tmp
.
вот мои личные настройки резервного копирования ~ / .vimrc
" backup to ~/.tmp
set backup
set backupdir=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp
set backupskip=/tmp/*,/private/tmp/*
set directory=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp
set writebackup
Если вы поместите set directory = ""
в ваш файл exrc, вы отключите файл подкачки. Тем не менее, это отключит восстановление.
Подробнее здесь .