文章插图
tox 开放了挺多的 API 接口,方便其他人定制开发插件 。
文章插图
4、tox 的工作流程接下来看看 tox 是怎么运作的:
文章插图
其工作流程中主要的环节有:
- 配置(从figuration):加载配置文件(如 tox.ini),解析命令行参数,读取系统环境变量等
- 打包(packaging):可选的,对于带有 setup.py 文件的项目,可以在这步去生成它的源发行版
- 创建虚拟环境:默认使用 virtualenv 来创建虚拟环境,并根据配置项中的“deps”安装所需的依赖项,然后执行配置好的命令(commands)
- 报告(report):汇总所有虚拟环境的运行结果并罗列出来
它的一大特色在于创建/管理虚拟环境,但这只是为了方便测试而使用的手段,因此相比其它可管理虚拟环境的工具,如 VirtualenvwrApper、conda、pipenv、poetry,它在某些方面就存在着不足 。
tox 还有强大的可配置性与丰富的插件支持,这使得它在运用上具有很大的可能性与自由度 。因此,不少忠实开发者仍在持续地在使用它,比如,我刚翻译好的系列文章的作者就是它的维护者之一 。
文章插图
最后还需补充一点,tox 使用配置文件作驱动,但配置文件还是挺繁琐的,因此有人开发了一个跟 tox 相似的nox,使用 Python 文件来做配置 。这个项目也很受欢迎,吸引了很多项目投入其门下,例如 pipx、urllib3、Salt 等等 。对该项目感兴趣的话,请查看:https://nox.thea.codes/en/stable/
公众号:Python猫主要分享 Python基础、Python进阶、Python哲学、编程语言、书籍推荐等内容,另外还有官方 PEP 翻译与优质外文的翻译,值得关注一同学习 。
推荐阅读
- conda:一个当下最流行的Python虚拟环境工具
- 11 个最佳的 Python 编译器和解释器
- 新买的无霜冰箱结霜了正常吗,无霜冰箱结霜了会自动化掉吗
- 编写Python代码设置各平台下代理配置
- 福建大自然茶业乌龙茶初制自动化生产线面世
- php+nginx实现自动化部署脚本
- 分享一款自动化运维工具--PSSH工具
- MySQL, PostgreSQL CentOS常用数据库安装和python使用
- 历时100天终于整理了所有Python库!助你成为年薪百万大佬
- Python 四大主流 Web 编程框架