跳转到主要内容

tox插件,提供与conda的集成

项目描述

Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public. PyPI version Python versions CI Code coverage

tox-conda 是一个插件,为 conda 包和环境管理器提供与 tox 自动化工具的集成。它就像既做了蛋糕又吃了它!

默认情况下,tox 使用 virtualenv 创建隔离环境,并从 pip 安装依赖项。

相比之下,当使用 tox-conda 插件时,tox 将使用 conda 创建环境,并将指定的依赖项从 conda 中安装。这对于依赖 conda 进行环境管理和包分发的开发人员来说很有用,但他们想利用 tox 提供的测试自动化功能。

tox-conda 未与低于 4.5 版本的 conda 进行过测试。

入门

tox-conda 可以以两种方式之一使用:全局安装和按项目启用。当插件全局安装时,tox 的默认行为将使用 conda 创建环境。如果要按项目使用,请使用 tox 的自动配置功能来选择性地启用插件。

要默认启用 tox-conda 的使用,请按照 安装 说明操作。要选择性使用插件,不要手动安装,而是通过将 tox-conda 添加为项目 tox 配置的配置要求来启用它。

[tox]
requires = tox-conda

有关自动配置的更多信息,请参阅 tox 文档

安装

tox-conda 包在 pypi 上可用。要安装,只需使用以下命令:

$ pip install tox-conda

要从源安装,首先从 github 克隆项目。

$ git clone https://github.com/tox-dev/tox-conda

然后在您的环境中安装它。

$ cd tox-conda
$ pip install .

以开发模式安装 (开发模式)

$ pip install -e .

tox-conda 插件期望 toxconda 已安装并可用在您的开发环境中。

用法

有关 tox 用法的详细信息,请参阅 tox 文档

启用插件且没有其他更改的情况下,tox-conda 插件将使用 conda 创建环境,并使用 pip 安装在 tox.ini 配置文件中给出的依赖项。

tox-conda 向配置文件的 [testenv] 部分添加了四个附加(可选)设置:

  • conda_deps,用于配置哪些依赖项从 conda 而不是从 pip 安装。在 conda_deps 中的所有依赖项都将安装在 deps 中的所有依赖项之前。如果没有给出,则不会使用 conda 安装任何依赖项。

  • conda_channels,指定应使用哪个(些)通道来解析 conda 依赖项。如果没有给出,则只使用 default 通道。

  • conda_spec,指定一个 conda-spec.txt 文件,其中列出了要安装的 conda 依赖项,并将其与 conda_deps(如果给出)合并。这些依赖项可以是通用形式(例如,numpy>=1.17.5)或显式形式(例如,https://conda.anaconda.org/conda-forge/linux-64/numpy-1.17.5-py38h95a1406_0.tar.bz2),但是,如果 @EXPLICIT 标题出现在 conda-spec.txt 中,则忽略所有通用依赖项,包括在 conda_deps 中给出的依赖项。

  • conda_env,用于指定一个创建用于测试的基础 conda 环境的 conda-env.yml 文件。该 conda-env.yml 文件是自包含的,如果未指定要使用的 conda 通道,则将使用默认通道。如果 conda-env.yml 指定了一个 Python 版本,则必须与为 tox 环境设置的 basepython 兼容。例如,一个指定 python>=3.8conda-env.yml 可以与设置为 py38py39py310basepython 一起使用。上述 conda_depsconda_channelsconda_spec 参数,如果与 conda-env.yml 文件一起使用,将在初始环境创建后用于 更新 环境。

  • conda_create_args,用于传递给 conda create 命令的参数。传递的参数将插入到命令行中的 Python 包之前。例如,传递 --override-channels 将创建更可重复的环境,因为用户 .condarc 中定义的通道不会干扰。

  • conda_install_args,用于传递给 conda install 命令的参数。传递的参数将插入到命令行中的依赖项之前。例如,传递 --override-channels 将创建更可重复的环境,因为用户 .condarc 中定义的通道不会干扰。

  • 如果 mamba 与 tox 在同一环境中安装,可以通过在调用 tox 的壳中设置环境变量 CONDA_EXE=mamba 来使用它而不是 conda 可执行文件。

以下是一个示例配置文件

[tox]
envlist =
    {py35,py36,py37}-{stable,dev}

[testenv]
deps=
    pytest-sugar
    py35,py36: importlib_resources
    dev: git+git://github.com/numpy/numpy
conda_deps=
    pytest<=3.8
    stable: numpy=1.15
conda_channels=
    conda-forge
conda_install_args=
    --override-channels
commands=
    pytest {posargs}

有关 tox 配置文件的信息,请参阅 文档

贡献

欢迎贡献。可以使用 tox 运行测试,请在提交拉取请求之前确保覆盖率至少保持不变。

许可证

根据 MIT 许可证分发,“tox-conda”是免费和开源软件

问题

如果您遇到任何问题,请与一个详细的描述一起在 问题 中提交。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪一个,请了解更多关于 安装包 的信息。

源分布

tox_conda-0.10.2.tar.gz (20.7 kB 查看哈希值)

上传于 来源

构建发行版

tox_conda-0.10.2-py3-none-any.whl (10.6 kB 查看哈希值)

上传于 Python 3

由以下支持