Возможно ли удалить каждый Tox virtualenv после завершения его обработки env

#python #tox

#python #tox

Вопрос:

Возможно ли удалить каждый Tox virtualenv после завершения его обработки env? Я знаю, это странное использование, но у меня есть конфигурация Tox с сотнями сред.

Я хочу запускать их один за другим, но возможно ли удалить каждый virtualenv после завершения его обработки?

Комментарии:

1. rm .tox/{envname} может сработать, если вы поместите его в конец вашего commands .

Ответ №1:

Нет способа сделать это с помощью конфигурации. Вам нужно удалить среду из команд среды; путь — {envdir}. И вы должны внести в белый список программу, которая удаляет каталоги. Что-то вроде этого:

 [testenv]
commands =
    {envpython} --version
    {envpython} -c "import struct; print(struct.calcsize('P') * 8)"
    rm -rf {envdir}
whitelist_externals =
    rm
  

Комментарии:

1. Это работает! Я использовал /bin/rm вместо rm в whitelist_externals . И используется commands_post для /bin/rm -rf {envdir} .