我有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
找不到有效命令。我还尝试flake8
从python 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
只是普通的需求文件蒙山你需要什么都在那里(例如flake8
,pytest
和其他依赖)
您可能会在https://github.com/vlcinsky/awslogs/tree/pbr-setup.py中看到示例
它使用有事实pbr
,coverage
并且coverall
是不相关的我的回答(它的作品有或没有PBR)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句