developer tip

setup.py가없는 프로젝트에서 어떻게 tox를 실행합니까?

optionbox 2020. 12. 4. 08:08
반응형

setup.py가없는 프로젝트에서 어떻게 tox를 실행합니까?


tox내 응용 프로그램이 두 가지 다른 Python 버전을 지원해야하므로 두 개의 virtualenv에서 단위 테스트를 실행하는 데 사용 하고 싶습니다 .

내 문제는이 tox필요 setup.py하지만 내 응용 프로그램이 모듈이 아니고 자체 설치 프로그램이 있기 때문에 아무것도 없습니다. 지금은 설치 프로세스를 자동화하는 번거 로움을 setup.py겪고 싶지 않고 .NET Framework를 작성하지 않고도 단위 테스트를 실행하고 싶습니다 setup.py.

가능합니까? 아니면 아무것도하지 않는 "빈"setup.py를 어떻게 작성할 수 있습니까? 주제에 대한 문서를 알려줄 수 있습니까 ( distutils문서는 setup.py비어 있는 것이 아니라 의미있는을 작성하는 방법을 설명합니다 )?


소스 코드를 파헤친 후 tox.ini에서 sdist를 건너 뛰는 거의 문서화되지 않은 옵션을 발견했습니다.

[tox]
skipsdist = BOOL    # defaults to false

이것을 설정하면 True내가 원하는 것을 얻었고 의미있는 글을 쓰는 노력을 절약했습니다.setup.py


응용 프로그램을 (A와있는 경우 requirements.txt), 오히려 당신이 배포하려고하는 프로젝트보다 (A 가질 것이다 setup.py당신이 대신)을 tox.ini다음과 같이 보일 것이다 :

[tox]
skipsdist = True

[testenv]
deps = -r{toxinidir}/requirements.txt

이 답변은 David Murphy의 블로그에서 원래 찾았습니다. http://blog.schwuk.com/2014/03/19/using-tox-django-projects/


이것은 여러 설정에 의한 Django 프로젝트의 tox.ini 파일 콘텐츠입니다.

[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

참고 URL : https://stackoverflow.com/questions/18962403/how-do-i-run-tox-in-a-project-that-has-no-setup-py

반응형