gpt4 book ai didi

python - 如何使用 Travis-CI 运行 Tox

转载 作者:IT老高 更新时间:2023-10-28 20:30:23 25 4
gpt4 key购买 nike

如何使用 Tox 测试不同的 Python 版本来自Travis-CI ?

我有一个tox.ini:

[tox]
envlist = py{27,33,34,35}
recreate = True

[testenv]
basepython =
py27: python2.7
py33: python3.3
py34: python3.4
py35: python3.5
deps =
-r{toxinidir}/pip-requirements.txt
-r{toxinidir}/pip-requirements-test.txt
commands = py.test

它在多个 Python 版本中运行我的 Python 单元测试并且运行良好。

我想在 Travis-CI 中设置一个构建,以便在我将更改推送到 Github 时自动运行它,所以我有一个 .travis.yml:

language: python
python:
- "2.7"
- "3.3"
- "3.4"
- "3.5"
install:
- pip install tox
script:
- tox

这在技术上似乎可行,但它在每个版本的 Python 中重复运行我所有的测试......来自每个版本的 Python。因此,需要 5 分钟的构建现在需要 45 分钟。

我尝试从我的 yaml 文件中删除 python 列表,因此 Travis 只会运行一个 Python 实例,但这会导致我的 Python3.5 测试失败,因为找不到 3.5 解释器.显然,这是一个 known limitation因为 Travis-CI 不会安装 Python3.5,除非您在配置中指定确切的版本...但它不会为其他版本执行此操作。

有没有办法解决这个问题?

最佳答案

为此,我会考虑使用 tox-travis。这是一个允许使用 Travis CI 的多个 python 版本和 Tox 的完整可配置性的插件。为此,您将配置 .travis.yml 文件以使用 Python 进行测试:

sudo: false
language: python
python:
- "2.7"
- "3.4"
install: pip install tox-travis
script: tox

这将运行适当的测试环境,它们是任何声明的环境,默认情况下使用 py27 或 py34 作为名称的因素。如果没有环境与给定因素匹配,则 Py27 或 py34 将用作后备。

Further Reading

关于python - 如何使用 Travis-CI 运行 Tox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37016688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com