【问题标题】:Tox automatically installing unwanted packageTox 自动安装不需要的软件包
【发布时间】:2024-01-01 11:46:01
【问题描述】:

我正在尝试使用 TOX 和 Travis CI 覆盖我的测试。 不幸的是,在创建虚拟环境时,TOX 从 PIP 安装我的包,因此没有测试实际源代码的覆盖率......

我怎样才能防止这种情况发生。

我想最简单的解释方法是尝试:

克隆这个: https://github.com/millerf/django-channels-jsonrpc

创建一个 venv

$>virtualenv venv/

最后:

$> pip install tox
$> tox -ecoverage 

覆盖范围不包括channels_jsonrpc/,因为tox将包安装在他自己的venv中...

如何防止安装一个带有 tox 的软件包?

【问题讨论】:

    标签: python django travis-ci tox


    【解决方案1】:

    Tox 会在他自己的环境中安装你提供的任何包,它就是这样工作的,为了让它使用你的本地仓库而不是安装远程版本,尝试将 tox.ini 文件的deps 部分更改为:

    deps =
        {toxinidir}
        coverage
        coveralls
    

    始终确保setup.py 位于{toxinidir} 路径的根目录中。

    您可以通过在本地更改包中的某些内容来测试它,然后运行 ​​tox -ecoverage 并通过检查 ./tox/coverage/lib/python{version}/site-packages/channels_jsonrpc/ 来验证安装了哪个 lib tox

    【讨论】: