Предотвратить Сфинкса от выполнения модуля


Я пытаюсь создать документацию на python с помощью Sphinx. Проблема в том, что sphinx-build завершает выполнение модуля / оценку чего-либо в глобальном масштабе. Есть ли причина, по которой он это делает? И кто-нибудь знает о флаге, который можно установить, чтобы отключить это?

Похоже, что Sphinx пытается сделать покрытие кода или что-то эквивалентное, что определенно не то, что я хочу, чтобы он делал. Обычно это не было бы проблемой, но определенный набор модулей очень специфичен для окружающая среда.

1 3

1 ответ:

Sphinx оценивает все в глобальной области, потому что плагин autodoc импортирует модули, а импорт модуля оценивает все в глобальной области.

Чтобы остановить это, либо:

  • отключить плагин autodoc (поиск autodoc в конфигурационном файле sphinx) или
  • охраняйте код, который вы не хотите выполнять с чем-то вроде if __name__ == "__main__": do_stuff()