Можно использовать значение константы в качестве случая в операторе переключения, fwiw.
Для предварительного удаления просто удалите его с помощью distutils.dir_util.remove_tree
перед вызовом программы установки.
Что касается пост-удаления, я предполагаю, что вы хотите только разместить- удалить после выбранных команд. Создайте подкласс соответствующей команды, переопределите ее метод выполнения (для вызова remove_tree после вызова базового выполнения) и передайте новую команду в словарь cmdclass программы установки.
Отвечает ли это ? IIRC, вам нужно использовать флаг - all
, чтобы избавиться от всего, что находится за пределами build / lib
:
python setup.py clean --all