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/