python - ¿Cómo ejecuto tox en un proyecto que no tiene setup.py?
pytest (3)
Después de buscar dentro del código fuente, encontré una opción apenas documentada en tox.ini que omite sdist:
[tox]
skipsdist = BOOL # defaults to false
Al establecer esto en True
obtuve lo que quería, ahorrándome el esfuerzo de escribir un setup.py
significativo
Me gustaría usar tox
para ejecutar mis tox
de tox
en dos virtualenvs, ya que mi aplicación debe admitir 2 versiones diferentes de Python.
Mi problema es que tox
requiere un setup.py
, pero no lo tengo, ya que mi aplicación no es un módulo y tiene su propio instalador. Por ahora no quiero pasar por la molestia de automatizar el proceso de instalación para trabajar con setup.py
, solo quiero ejecutar mis setup.py
sin tener que escribir un setup.py
.
¿Es eso posible? ¿O cómo puedo escribir un setup.py "vacío" que simplemente no hace nada? ¿Puede indicarme alguna documentación sobre el tema (la documentación de distutils
explica cómo escribir un setup.py
significativo, no uno vacío)?
Este es mi contenido de archivo tox.ini para el proyecto Django por múltiples configuraciones:
[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
Si tiene una aplicación (con un requirements.txt
), en lugar de un proyecto que va a distribuir (que tendría un setup.py
en su lugar), su tox.ini
debería verse más o menos así:
[tox]
skipsdist = True
[testenv]
deps = -r{toxinidir}/requirements.txt
Encontré esta respuesta originalmente del blog de David Murphy: http://blog.schwuk.com/2014/03/19/using-tox-django-projects/