Nox 欢迎你
英文原文 | Welcome to Nox
nox 是一个命令行工具,可以在多个 Python 环境中作自动化测试,类似于tox。但与 tox 不同,nox 使用标准的 Python 文件进行配置。
使用pip安装 nox :
pip install --user --upgrade nox
通过项目目录中的 noxfile.py 文件配置 nox 。这是一个运行 lint 和一些测试的简单 noxfile:
import nox
@nox.session
def tests(session):
session.install('pytest')
session.run('pytest')
@nox.session
def lint(session):
session.install('flake8')
session.run('flake8', '--import-order-style', 'google')
要运行这两个会话,只需运行:
nox
对于每个会话,nox 将使用适当的解释器自动创建virtualenv,安装指定的依赖项,然后按顺序运行命令。
要了解如何安装和使用 nox,请参阅教程。有关配置会话的文档,请参阅《配置与API》。有关运行 nox 的文档,请参阅 命令行用法 。
使用 nox 的项目
nox 很幸运,有几个出色的项目使用了它,并提供了反馈和贡献。
- Bezier
- gapic-generator-python
- gdbgui
- Google Assistant SDK
- google-cloud-python
- google-resumable-media-python
- OpenCensus Python
- packaging.python.org
- pipx
- Salt
- Subpar
- Urllib3
- Zazo
其它有用的项目
nox 不是同类工具中唯一的一个。如果 nox 不太满足你的需求,或者你想进行更多研究,建议你使用以下工具:
- tox是用于管理多个 Python 测试环境的事实标准,并且是 nox 的直接精神祖先。
- Invoke是通用性的任务执行库,类似于 Make。可以认为 nox 就像是 Invoke 专门为 Python 测试而量身定制的,对于超出 nox 的特性的脚本来说,Invoke 是一个很好的选择。
维护者和贡献者
nox 是个免费的开源软件,由社区维护者和贡献者成就。
我们的维护者为(按字母顺序):
由于社区提供了各种补丁和贡献工作,因此 nox 才存在。如果你想参与其中,请参阅贡献 部分。我们使用Open Collective向我们的贡献者支付报酬。