如何使Travis CI安装在tests_require中声明的Python依赖项?

洪扎·贾沃瑞克

我有Python包setup.py它具有在中声明的常规依赖项install_requires和在中声明的开发依赖项tests_require,例如flake8

我认为pip install -e .或正在运行python setup.py test还将安装我的开发依赖项,并且它们将可用。但是,显然它们不是,我很难正确设置Travis CI的构建。

install:
  - "pip install -e ."
script:
  - "python setup.py test"
  - "flake8"

如上配置的内部版本将失败,因为flake8找不到有效命令。我还尝试flake8python setup.py test命令内部(通过subprocess调用,但是也没有成功。

我也讨厌这样一个事实,即flake8不能轻易将其作为python setup.py test命令的组成部分,但这是另一回事。

扬·维尔辛斯基

我更喜欢保留大多数配置,tox.ini并依靠它来安装和运行要运行的内容。对于测试,我使用pytest(可以将解决方案修改为轻松使用其他测试框架)。

使用以下文件:

  • tox.ini:自动化测试
  • .travis.yml:Travis的说明
  • setup.py:安装脚本以安装包进行测试
  • test_requirements.txt:测试要求清单

tox.ini

[tox]
envlist = py{26,27,33,34}

[testenv]
commands =
    py.test -sv tests []
deps =
    -rtest-requirements.txt

.travis.yml

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

test_requirements.txt

只是普通的需求文件蒙山你需要什么都在那里(例如flake8pytest和其他依赖)

您可能会在https://github.com/vlcinsky/awslogs/tree/pbr-setup.py中看到示例

它使用有事实pbrcoverage并且coverall是不相关的我的回答(它的作品有或没有PBR)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章