如何在没有setup.py的项目中运行tox?

Kji*_*jir 60 python unit-testing distutils tox

我想用tox两个virtualenvs运行我的单元测试,因为我的应用程序必须支持2个不同的Python版本.

我的问题是tox需要a setup.py,但我没有,因为我的应用程序不是模块并且有自己的安装程序.现在我不想经历自动化安装过程的麻烦setup.py,我只想运行我的单元测试而不必写一个setup.py.

那可能吗?或者我怎么能写一个"空"的setup.py,什么都不做?你能指点我一些关于这个主题的distutils文档(文档解释了如何写一个有意义的setup.py,而不是空的)?

Kji*_*jir 81

在挖掘源代码后,我在tox.ini中找到了一个跳过sdist的几乎没有文档的选项:

[tox]
skipsdist = BOOL    # defaults to false
Run Code Online (Sandbox Code Playgroud)

把它设置为True我得到了我想要的,省去了写一个有意义的努力setup.py


Cea*_*sta 41

如果你有一个应用程序(带有a requirements.txt),而不是你要分发的项目(可能有一个setup.py),你tox.ini应该看起来像这样:

[tox]
skipsdist = True

[testenv]
deps = -r{toxinidir}/requirements.txt
Run Code Online (Sandbox Code Playgroud)

发现这个答案最初来自David Murphy的博客:http://blog.schwuk.com/2014/03/19/using-tox-django-projects/