Как я могу запустить tox в проекте, у которого нет setup.py?
Я хотел бы использовать tox
для запуска моих unittests в двух virtualenvs, так как мое приложение должно поддерживать 2 разных версии Python.
Моя проблема в том, что tox
требует setup.py
, но у меня нет ни одного, так как мое приложение не является модулем и имеет свой собственный установщик. На данный момент я не хочу обсуждать проблемы автоматизации процесса установки, поскольку для работы с setup.py
я просто хочу запускать свои unittests без необходимости писать setup.py
.
Это возможно? Или как я могу написать "пустую" setup.py, которая просто ничего не делает? Можете ли вы указать мне на какую-либо документацию по этому вопросу (документация distutils
объясняет, как написать значащий setup.py
, а не пустой)?
Ответы
Ответ 1
После копания внутри исходного кода я обнаружил, что в tox.ini практически не зарегистрирован вариант, который пропускает sdist:
[tox]
skipsdist = BOOL # defaults to false
Установив это на True
, я получил то, что хотел, сохранив усилия, чтобы написать значимый setup.py
Ответ 2
Если у вас есть приложение (с requirements.txt
), а не проект, который вы собираетесь распространять (вместо этого был бы setup.py
), ваш tox.ini
должен выглядеть примерно так:
[tox]
skipsdist = True
[testenv]
deps = -r{toxinidir}/requirements.txt
Нашел этот ответ из блога Дэвида Мерфи: http://blog.schwuk.com/2014/03/19/using-tox-django-projects/