Как запустить tox в проекте, который не имеет setup.py?
Я хотел бы использовать tox чтобы запустить мои unittests в двух virtualenvs, так как мое приложение должно поддерживать 2 разные версии Python.
моя проблема в том, что tox требует setup.py, но у меня нет ни одного, так как мое приложение не является модулем и имеет свой собственный установщик. На данный момент я не хочу проходить через хлопоты автоматизации процесса установки, чтобы работать с setup.py, Я просто хочу, чтобы запустить мой unit-тестов, без необходимости писать setup.py.
это возможно? Или как я могу написать "пустой" setup.py что просто ничего не делает? Можете ли вы указать мне на некоторые документы по этому вопросу (distutils документация объясняет, как писать осмысленные setup.py, не пустой)?
3 ответов:
после копания в исходном коде, я нашел едва документированный вариант в tox.ini, который пропускает sdist:
[tox] skipsdist = BOOL # defaults to falseзадание
TrueЯ получил то, что хотел, сэкономив мне писать осмысленныеsetup.py
если у вас есть приложение (с
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/
Это моя Токсикология.содержимое файла ini для проекта Django по нескольким настройкам:
[tox] envlist = py36-{accounting,content,media}_settings skipsdist = true [testenv] commands = python {toxinidir}/manage.py test deps = -r{toxinidir}/requirements.txt setenv = accounting_settings: DJANGO_SETTINGS_MODULE=my_project.settings.accounting contents_settings: DJANGO_SETTINGS_MODULE=my_project.settings.contents media_settings: DJANGO_SETTINGS_MODULE=my_project.settings.media
Comments