更改日志历史记录

Versions follow Semantic Versioning (<major>.<minor>.<patch>). Backward incompatible (breaking) changes will only be introduced in major versions with advance notice in the Deprecations section of releases.

主文件中的更改,但尚未发布的更改在草案部分中

Towcrier,版本21.9.0

V3.25.0(2022-04-11)

错误修正

  • 修复了失败的Isolated_Build,因为在中捕获了setupTools警告 build_requires 。--由 @zariiii9003 #2332

  • 避免socket.getfqdn()可能导致的30秒延迟。--由 @ssbarnea #2375

特征

  • 忽略缺少的命令(前缀为 - --由 @cdown#2315

  • 将缺省环境变量(如http_proxy)添加到UNIX上的passenv--by,而不考虑它们的大小写 @poggenhans#2372

  • 在Windows上 PROGRAMFILESPROGRAMFILES(X86) ,以及 PROGRAMDATA 现在传递环境变量,取消屏蔽定位资源(如C编译器)所需的系统值。 #2382

文档

V3.24.5(2021-12-29)

错误修正

  • 修复了以下问题 usedevelop 如果setup.py不存在,将导致调用错误。--由 @VincentVanlaer #2197

v3.24.4(2021-09-16)

错误修正

  • 修复了对 -e ALL 在并行模式下,通过忽略 ALL 在子流程中--按 @guahki#2167

  • 防止TOX在使用时使用截断的解释器 TOX_LIMITED_SHEBANG --由 @jdknight#2208

文档

  • 中首次引入的Sphinx文档中启用了收藏夹图标 p764 但没有完全整合-- @webknjaz #2177

v3.24.3(2021-08-21)

错误修正

  • --parallel reports now show ASCII OK/FAIL/SKIP lines when full Unicode output is not available - by @brettcs #1421

其他

v3.24.2(2021-08-18)

错误修正

v3.24.1(2021-07-31)

错误修正

  • get_requires_for_build_sdist hook (PEP 517) is assumed to return an empty list if left unimplemented by the backend build system - by @oczkoisse #2130

文档

  • 的文档 install_command 现在还提到,您可以通过以下方式提供任意命令 @jugmac00 #2081

v3.24.0(2021-07-14)

错误修正

  • --devenv no longer modifies the directory in which the .tox environment is provisioned - by @isaac-ped #2065

  • 修正了软件包名称不是规范格式时的show config-by @gaborbernat#2103

文档

其他

  • tox no longer shows deprecation warnings for distutils.sysconfig on Python 3.10 - by @9999years #2100

v3.23.1(2021-05-05)

错误修正

  • 查找viralenv可执行路径时,请区分普通Windows Python和MSYS2 Python。将os.sep添加到 InterpreterInfo -由 @jschwartzentruber #1982

  • 修复一个 tox-conda 隔离构建BUG-BY @AntoineD#2056

文档

  • 更新文档中的示例以使用 setenv[testenv] 部分,而不是错误地在 [tox] 主要部分。-由 @AndreyNautilus #1999

其他

  • 使用以下工具启用建筑毒素 setuptools_scm 6+x @hroncok #1984

v3.23.0(2021-03-03)

特征

  • 现在可以使用新的 --no-provision 阻止设置的标志,如果 requiresminversion 不满足时,tox将失败;如果将路径指定为标志的参数(例如, tox --no-provision missing.json )并阻止提供,则提供元数据将作为JSON写入该路径 @hroncok #1921

  • 中的Unicode支持 pyproject.toml -由 @domdfcoding #1940

v3.22.0(2021-02-16)

特征

v3.21.4(2021-02-02)

错误修正

  • 调整测试,使其不假定 easy_install 命令存在,因为它是从中删除的 setuptools 52.0.0+-按 @hroncok #1893

v3.21.3(2021-01-28)

错误修正

  • 修复被杀死的tox(通过SIGTERM),让命令子进程继续运行,方法是将其当作键盘中断-by进行处理 @dajose #1772

v3.21.2(2021-01-19)

错误修正

  • 更新的覆盖范围工具更新 COV_CORE_CONTEXT 环境变量,将其添加到我们的pytest插件中可以更改的环境变量列表中-通过 @gaborbernat#1854

v3.21.1(2021-01-13)

错误修正

  • 在配置替换中使用install_command修复中断的回归-由 @jayvdb #1777

  • 修复回归解析位置默认包含冒号的问题。-由 @jayvdb #1785

特征

其他

  • 使用以下工具启用建筑毒素 setuptools_scm 4和5乘以 @hroncok #1799

v3.21.0(2021-01-08)

错误修正

  • 修复错误 congratulations 发生以下情况时显示的消息: KeyboardInterrupt 在软件包安装期间发生。-由 @gnikonorov #1453

  • 固定 platform 支持 install_command 。-由 @jayvdb #1464

  • 修复了v3.20.0中的回归,该回归会导致setenv中的转义大括号中断该变量在tox.ini中的其他地方的使用。-由 @jayvdb #1690

  • 预防 {{}} 并要求 {{: 后面只跟一个 }} 。-由 @jayvdb #1711

  • 提高 MissingSubstitution 访问损坏的ini设置时。-由 @jayvdb #1716

特征

文档

v3.20.1(2020-10-09)

错误修正

v3.20.0(2020-09-01)

错误修正

  • 允许在生成节名称中使用连字符和空因子。-由 @tyagdit #1636

  • 支持PEP517树内构建后端路径密钥 get-build-requires 。-由 @nizox #1654

  • 允许在setenv中转义大括号。-由 @mkenigs #1656

特征

  • 支持中的评论 setenv 和环境文件(通过 files| 前缀。-由 @gaborbernat #1667

v3.19.0(2020-08-06)

错误修正

  • 跳过 setup.cfg 如果它没有 tox:tox 命名空间-依据 @hroncok #1045

特征

文档

v3.18.1(2020-07-28)

错误修正

  • 固定 TypeError 将ISOLATED_BUILD与非子模块的后端一起使用时(例如 maturin#1629

v3.18.0(2020-07-23)

弃用(在下一个主要版本中删除)

  • 向WHILLIST_EXTERNAL添加allowlist_EXTERNALS别名(现在不建议使用WHILLIST_EXTERNAL)。-由 @dajose #1491

v3.17.1(2020-07-15)

错误修正

  • 在以下情况下修复测试 HOSTNAME 已设置环境变量,但空字符串-by @hroncok #1616

v3.17.0(2020-07-14)

特征

  • 冗长的争论 --verbose--quiet (不仅仅是它们的简短形式, -v-q )现已接受。 #1612

  • 这个 ResultLog 现在更喜欢 HOSTNAME 本地主机的完全限定域名上的环境变量值(如果设置)。这使得可以禁用不需要的DNS查找,这在所有服务器上都会发生 tox 调用,包括琐碎的调用-by @hroncok #1615

文档

  • 更新flit的包装信息。 #1613

v3.16.1(2020-06-29)

错误修正

  • 修复了对使用的支持 {{temp_dir}} 在里面 tox.ini -由 @webknjaz #1609

v3.16.0(2020-06-26)

特征

  • 传递时允许跳过软件包和安装步骤 --skip-pkg-install 。它应该与 --notest ,因此您可以将环境设置和测试运行分开:

    tox -e py --notest
    tox -e py --skip-pkg-install
    

    通过 @gaborbernat . #1605

其他

v3.15.2(2020-06-06)

错误修正

  • 在发送SIGTERM之前添加允许进程自杀的选项。-由 @jhesketh #1497

  • Windows上的PyPy 7.3.1使用 Script 文件夹,而不是 bin 。-由 @gaborbernat #1597

其他

  • 允许使用pip 19.3.1再次运行测试,同时保留使用pip 20.1-by的能力 @hroncok #1594

v3.15.1(2020-05-20)

错误修正

  • tox --showconfig no longer tries to interpolate '%' signs. #1585

v3.15.0(2020-05-02)

错误修正

  • 尊重改变的尝试 PATH 通过 setenv -由 @aklajnert . #1423

  • 修复了python解释器名称中的体系结构解析。-由 @bruchar1 #1542

  • 当命令为空时防止异常。-由 @bruchar1 #1544

  • 修复在具有TOX支持文件的目录外运行时无效参数的不相关错误消息,方法是 @nkpro2000sr . #1547

特征

文档

  • 通过在入门时添加TOX环境描述来改进有关配置的文档 @stephenfin . #1573

v3.14.6(2020-03-25)

错误修正

  • 排除具有已知回归的viralenv依赖项版本(20.0. [0-7] )-由 @webknjaz . #1537

  • 固定 tox -htox --hi 显示在具有TOX支持文件的目录外运行时的错误 @nkpro2000sr . #1539

  • 修复ValueError on(修复ValueError) tox -l 对于一个 tox.ini 不包含 envlist 定义。-由 @jquast . #1343

v3.14.5(2020-02-16)

特征

  • 添加 --discover (回退到 TOX_DISCOVER 环境变量)来注入python可执行文件以尝试作为发现的第一步-请注意,可执行文件仍然需要通过以下方式匹配环境 @gaborbernat . #1526

v3.14.4(2020-02-13)

错误修正

  • 要避免使用与较新的viralenv不兼容的版本,需要凹凸最小六个版本。-由 @ssbarnea #1519

  • 避免由于未定义的打印输出变量而导致的PyPy测试失败。-由 @ssbarnea #1521

特征

  • 添加 interrupt_timeoutterminate_timeout 在TOX中断时配置SIGINT、SIGTERM和SIGKILL之间延迟。-由 @sileht #1493

  • 添加 HTTP_PROXYHTTPS_PROXYNO_PROXY 设置为默认passenv。-由 @pfmoore #1498

v3.14.3(2019-12-27)

错误修正

其他

  • 澄清遗留的setup.py错误消息:Python项目应该承诺关于打包的消息具有很强的一致性。我们不再告诉人们将setup.py添加到他们已经配置的PEP-517项目中,否则这可能意味着pyproject.toml没有得到真正的支持和推荐-by @graingert #1478

v3.14.2(2019-12-02)

错误修正

  • 修复在Jenkins中运行时回退到全局配置的问题。-由 @daneah #1428

  • 修复窗户上的颜色:Colorama是一个部门。-由 @1138-4EB #1471

其他

  • 通过内部查找Python版本信息提高性能-通过 @blueyed #1462

  • 使用最新版本的import lib_METADATA包-BY @kammala #1472

  • 将与诗歌相关的测试标记为xail,因为由于缺少轮子/构建dep,它的依赖项pyrsistent不会安装在ci中。-由 @RonnyPfannschmidt #1474

v3.14.1(2019-11-13)

错误修正

  • 修复由于(真实)信号而退出的报告-依据 @blueyed #1401

  • 将最小虚拟环境提升到16.0.0,以改进自己在一些古老环境中的传递性DEP处理能力。-由 @webknjaz #1429

  • 添加 CURL_CA_BUNDLEREQUESTS_CA_BUNDLESSL_CERT_FILE 设置为默认passenv值。-由 @ssbarnea #1437

  • 通过分离让TOX知道它是在并行模式下调用的环境变量,修复并行模式下嵌套的TOX执行 (_TOX_PARALLEL_ENV )来自通知测试TOX正以并行模式运行的变量 (TOX_PARALLEL_ENV )。-由 @hroncok #1444

  • 修复来自pyvenv解释器的配置。-由 @kentzo #1452

弃用(在下一个主要版本中删除)

v3.14.0(2019-09-03)

错误修正

  • 固定 PythonSpec 检测到 python3.10 -由 @asottile #1374

  • 修复回归无法检测未来和过去的问题 py## 系数-依据 @asottile #1377

  • 固定 current_tox_py 对于 pypy / pypy3 -由 @asottile #1378

  • 表彰中的环境标志 requires 列表依据 @asottile #1380

  • 通过允许包含以下内容目录改进了重新创建检查 .tox-config1 (由TOX创建的标记文件)-BY @asottile #1383

  • 正确识别带后缀的解释器(如python3.7-dbg)。 #1415

特征

  • 添加对具有多位数的次要版本的支持 tox -e py310 为以下公司工作 python3.10 -由 @asottile #1374

  • 消除对…的依赖 md5 散列算法-依据 @asottile #1384

文档

  • 如果重新创建设置为False-by,请澄清行为 @PJCampi #1399

其他

  • 修复回购中文件的相对URL .github/PULL_REQUEST_TEMPLATE.md -由 @webknjaz #1363

  • 替换 importlib_metadata 后端口 importlib.metadata 来自Python上的标准库 3.8+ -由 @hroncok #1367

  • 将更改片段帮助呈现在 docs/changelog/ GitHub-By上的目录视图 @webknjaz #1370

v3.13.2(2019-07-01)

错误修正

v3.13.1(2019-06-25)

错误修正

v3.13.0(2019-06-24)

错误修正

  • TOX在将位置参数转换为字符串时在非Windows平台上使用Windows外壳规则-by @barneygale . #1336

特征

  • 替换 pkg_resources 具有 importlib_metadata 用于超速 @asottile . #1324

  • 添加 --devenv ENVDIR 用于从创建开发环境的选项 [testenv] 配置-依据 @asottile . #1326

  • 拒绝删除 envdir 如果它看起来不像是虚拟的 @asottile . #1340

v3.12.1(2019-05-23)

错误修正

  • 确保 TOX_WORK_DIR 是中的本机字符串 os.environ -由 @asottile . #1313

  • 修复导入和使用 winreg 对于Windows上的python2.7-by @asottile . #1315

  • 修复Windows在第一次发现时选择不正确的规范-依据 @gaborbernat #1317

v3.12.0(2019-05-23)

错误修正

  • 使用时 --parallel 具有 --result-json 现在,测试结果的包含方式与串行运行相同 @fschulze #1295

  • 结果显示, py -0p 还不稳定,并且根据不同的边缘情况而有所不同。现在,我们通过以下方式直接从注册表读取解释器值 PEP-514 -由 @gaborbernat . #1306

特征

  • 添加 TOX_PARALLEL_NO_SPINNER 环境变量来禁用并行模式下的微调器,以便在使用CI工具时进行干净输出-by @zeroshift #1184

v3.11.1(2019-05-16)

错误修正

  • 在创建虚拟环境时,我们不再要求python告知其路径,而是使用发现的路径。 #1301

v3.11.0(2019-05-15)

特征

  • --showconfig 大修:

    • 现在完全通过配置解析器生成,因此任何人都可以使用内置的python配置解析器加载它。

    • 这个 tox 部分包含配置中的所有配置数据

    • 这个 tox 节包含一个 host_python 详细说明主机python路径的密钥

    • 这个 tox:version 部分包含tox依赖的所有包的版本及其版本。

    • 经过 -l 现在仅允许列出默认目标环境

    • 仅允许显示给定的一组TOX环境的配置 -e CLI标志或 TOXENV 环境变量,在本例中为 toxtox:version 部分仅在传递了至少一个详细标志时才显示

    这应该有助于检查选项。 #1298

v3.10.0(2019-05-13)

错误修正

  • 修复 tox -l 命令:不允许设置 TOXENV-e 用于覆盖列出的默认环境变量的标志,如果未定义target-by,则它们仍显示在Extra下 @gaborbernat #720

  • 当资源调配处于启用状态和资源调配环境外部时,TOX会忽略未知的CLI参数(允许自由转发资源调配参数)-通过 @gaborbernat #1270

特征

  • 现在创建的虚拟环境不再将pip/车轮/setuptools升级到最新版本。相反,现在在viralenv创建之后的开始包是viralenv捆绑的任何包。这允许更快地创建Virtualenv并构建更容易重现的版本。 #448

  • 改进python发现并增加架构支持:
    • UNIX:

      • 首先,检查tox宿主Python是否匹配。

      • 第二,检查规范名称(例如 python3.7python3 )匹配,或者基python是绝对路径,请使用它。

      • 第三,检查没有版本的规范名称是否匹配(例如 pythonpypy )匹配。

    • 窗户:

      • 首先,检查tox宿主Python是否匹配。

      • 其次,使用 py.exe 列出注册的口译员和任何匹配的口译员。

      • 第三,检查规范名称(例如 python3.7python3 )匹配,或者基python是绝对路径,请使用它。

      • 第四,检查没有版本的规范名称是否匹配(例如 pythonpypy )匹配。

      • 最后,检查已知位置 (c:\python{{major}}{{minor}}\python.exe

    TOX环境配置生成现在是并行完成的(以缓解由于额外检查而导致的速度减慢)。 #1290

v3.9.0(2019-04-17)

错误修正

  • 固定 congratulations 使用时 ^C 在创建Virtualenv期间-由 @asottile #1257

特征

v3.8.6(2019-04-03)

错误修正

v3.8.5(2019-04-03)

错误修正

v3.8.4(2019-04-01)

错误修正

  • 修复了有非ascii输出时在python2.x上创建sdist的问题。 #1234

  • 修复了solated.py中的拼写错误,使其无法安装pyproject.toml-by中有要求的软件包 @unmade #1236

v3.8.3(2019-03-29)

错误修正

v3.8.2(2019-03-29)

错误修正

  • 使用-v和-e连接(as-ve)失败-by @gaborbernat #1218

  • 对插件测试器模块的更改(cmd不再设置 PYTHONPATHaction.popen 不再从日志中返回命令标识符信息。没有公众面临变化。 #1222

  • 微调器在配置项打开时失败 UnicodeEncodeError -由 @gaborbernat #1223

v3.8.1(2019-03-28)

错误修正

  • 这个 -eALL 命令行参数现在扩展了 envlist 关键字,并包括其所有环境。 #1155

  • 独立的构建环境依赖项覆盖没有考虑到(这样它继承了来自testen v部分的dep)-by @gaborbernat #1207

  • --result-json puts the command into setup section instead of test (pre and post commands are now also correctly put into the commands section) - by @gaborbernat #1210

  • 集合 setup.cfg 编码为UTF-8,因为它包含Unicode字符。 #1212

  • 修复tox配置项,通过py故障定位时更好的错误报告 @gaborbernat #1215

v3.8.0(2019-03-27)

错误修正

  • 在POSIX shell中,将PATH环境变量设置为空值相当于根本不设置它;因此,如果用户在python 3.4或更高版本上将PYTHONPATH设置为空字符串-by @gaborbernat . #1092

  • 修复了子进程调用日志冲突的错误(日志已存在)-按 @gaborbernat #1137

  • 现在,失败的解释器发现和Virtualenv创建过程调用将在屏幕上打印出其输出(通过我们自动保存的日志文件)-by @gaborbernat #1150

  • 使用 py2py3 具有特定 basepython 将不再发出警告,除非主版本冲突-by @demosdemon . #1153

  • 修复缺少的错误 tox -e unknown 当tox.ini声明 envlist 。-由 @medmunds #1160

  • 使用以下内容解析符号链接 toxworkdir -由 @blueyed . #1169

  • 现在中断TOX调用(例如,通过CTRL+C)将确保派生子进程(测试调用、解释器发现、并行子实例、配置的主机)在退出(通过中断-300毫秒、终止-200毫秒、终止信号)之前被正确停止 @gaborbernat #1172

  • 修复一 ResourceWarning: unclosed file 在里面 Action -由 @BoboTiG . #1179

  • 修复使用时的死锁 --parallel 并且拥有具有大量输出的环境 @asottile . #1183

  • 删除了有时会导致 --parallel-p 使用时 posargs -由 @timdaman #1192

特征

  • TOX现在可以根据需要自动调配(请参见 TOX自动调配 )。用户不再需要手动满足插件或最低版本的TOX,从而增加了他们的易用性。-由 @gaborbernat #998

  • tox会给你注射 TOX_PARALLEL_ENV 环境变量,仅当在并行模式下运行时才设置为当前运行的TOX环境名称。-由 @gaborbernat #1139

  • 并行的子项现在将其输出保存到磁盘日志文件中-按 @gaborbernat #1143

  • 并行子项现在添加到 --result-json -由 @gaborbernat #1159

  • 显示图案和 sys.platform 平台不匹配-BY @blueyed . #1176

  • 设置环境变量 TOX_REPORTER_TIMESTAMP1 将允许为每条输出线显示其自tox启动以来的增量。这在调试并行运行时特别方便。-by @gaborbernat #1203

文档

v3.7.0(2019-01-11)

特征

弃用(在下一个主要版本中删除)

  • 在 tox 4中,将强制将外部设备列入白名单:作为已经存在的警告的一部分,发布一个弃用警告-by @obestwalter #1129

文档

  • 澄清示例中的解释,避免不受支持的行尾注释-BY @obestwalter #1110

  • 设置为PULL_REQUEST_TEMPLATE.md使用相对URL,而不是绝对URL-by @evandrocoan 修正了changelog/examples.rst到docs/changelog/examples.rst-by的PULL_REQUEST_TEMPLATE.md路径 @evandrocoan #1120

v3.6.1(2018-12-24)

特征

  • if the packaging phase successfully builds a package set it as environment variable under TOX_PACKAGE (useful to make assertions on the built package itself, instead of just how it ends up after installation) - by @gaborbernat (#1081)

v3.6.0(2018-12-13)

错误修正

  • 在Windows上,选中 sys.executable 在其他人之前查找解释器版本。这与在非Windows上发生的情况相匹配。 (#1087

  • 不要重写 {{posargs}} 绝对路径的替换。 (#1095

  • 正确地失败 tox --notest 安装失败时。 (#1097

文档

其他

v3.5.3(2018-10-28)

错误修正

  • Fix bug with incorrectly defactorized dependencies - by @bartsanchez (#706)

  • do the same transformation to egg_info folders that pkg_resources does; this makes it possible for hyphenated names to use the develop-inst-noop optimization (cf. 910), which previously only worked with non-hyphenated egg names - by @hashbrowncipher (#1051)

  • previously, if a project's setup.py --name emitted extra information to stderr, tox would capture it and consider it part of the project's name; now, emissions to stderr are printed to the console - by @hashbrowncipher (#1052)

  • change the way we acquire interpreter information to make it compatible with jython interpreter, note to create jython envs one needs virtualenv > 16.0 which will be released later @gaborbernat (#1073)

文档

  • document substitutions with additional content starting with a space cannot be alone on a line inside the ini file - by @gaborbernat (#437)

  • change the spelling of a single word from contrains to the proper word, constraints - by @metasyn (#1061)

  • 提及以下各项所需的最低版本 commands_pre/commands_post 支持。 (#1071

v3.5.2(2018-10-09)

错误修正

  • session packages are now put inside a numbered directory (instead of prefix numbering it, because pip fails when wheels are not named according to PEP-491, and prefix numbering messes with this) - by @gaborbernat (#1042)

特征

v3.5.1(2018-10-08)

错误修正

  • fix regression with 3.5.0: specifying --installpkg raises AttributeError: 'str' object has no attribute 'basename' (#1042)

v3.5.0(2018-10-08)

错误修正

  • intermittent failures with --parallel--safe-build, instead of mangling with the file paths now uses a lock to make the package build operation thread safe and is now on by default (--parallel--safe-build is now deprecated) - by @gaborbernat (#1026)

特征

  • Added temp_dir folder configuration (defaults to {toxworkdir}/.tmp) that contains tox temporary files. Package builds now create a hard link (if possible, otherwise copy - notably in case of Windows Python 2.7) to the built file, and feed that file downstream (e.g. for pip to install it). The hard link is removed at the end of the run (what it points though is kept inside distdir). This ensures that a tox session operates on the same package it built, even if a parallel tox run builds another version. Note distdir will contain only the last built package in such cases. - by @gaborbernat (#1026)

文档

v3.4.0(2018-09-20)

错误修正

  • add --exists-action w to default pip flags to handle better VCS dependencies (pip documentation on this) - by @gaborbernat (#503)

  • instead of assuming the Python version from the base python name ask the interpreter to reveal the version for the ignore_basepython_conflict flag - by @gaborbernat (#908)

  • PEP-517 packaging fails with sdist already exists, fixed via ensuring the dist folder is empty before invoking the backend and pypa/setuptools 1481 - by @gaborbernat (#1003)

特征

  • add commands_pre and commands_post that run before and after running the commands (setup runs always, commands only if setup succeeds, teardown always - all run until the first failing command) - by @gaborbernat (#167)

  • pyproject.toml config support initially by just inline the tox.ini under tool.tox.legacy_tox_ini key; config source priority order is pyproject.toml, tox.ini and then setup.cfg - by @gaborbernat (#814)

  • use the os environment variable TOX_SKIP_ENV to filter out tox environment names from the run list (set by envlist) - by @gaborbernat (#824)

  • always set PIP_USER=0 (do not install into the user site package, but inside the virtual environment created) and PIP_NO_DEPS=0 (installing without dependencies can cause broken package installations) inside tox - by @gaborbernat (#838)

  • tox will inject some environment variables that to indicate a command is running within tox: TOX_WORK_DIR env var is set to the tox work directory, TOX_ENV_NAME is set to the current running tox environment name, TOX_ENV_DIR is set to the current tox environments working dir - by @gaborbernat (#847)

  • While running tox invokes various commands (such as building the package, pip installing dependencies and so on), these were printed in case they failed as Python arrays. Changed the representation to a shell command, allowing the users to quickly replicate/debug the failure on their own - by @gaborbernat (#851)

  • skip missing interpreters value from the config file can now be overridden via the --skip-missing-interpreters cli flag - by @gaborbernat (#903)

  • keep additional environments config order when listing them - by @gaborbernat (#921)

  • allow injecting config value inside the ini file dependent of the fact that we're connected to an interactive shell or not via exposing a {tty} substitution - by @gaborbernat (#947)

  • do not build sdist if skip install is specified for the envs to be run - by @gaborbernat (#974)

  • when verbosity level increases above two start passing through verbosity flags to pip - by @gaborbernat (#982)

  • when discovering the interpreter to use check if the tox host Python matches and use that if so - by @gaborbernat (#994)

  • -vv will print out why a virtual environment is re-created whenever this operation is triggered - by @gaborbernat (#1004)

文档

  • clarify that python and pip refer to the virtual environments executable - by @gaborbernat (#305)

  • add Sphinx and mkdocs example of generating documentation via tox - by @gaborbernat (#374)

  • specify that setup.cfg tox configuration needs to be inside the tox:tox namespace - by @gaborbernat (#545)

v3.3.0(2018-09-11)

错误修正

  • fix TOX_LIMITED_SHEBANG when running under python3 - by @asottile (#931)

特征

其他

  • Updated the VSTS build YAML to use the latest jobs and pools syntax - by @davidstaheli (#955)

v3.2.1(2018-08-10)

错误修正

  • --parallel--safe-build no longer cleans up its folders (distdir, distshare, log). - by @gaborbernat (#849)

v3.2.0(2018-08-10)

特征

  • Switch pip invocations to use the module -m pip instead of direct invocation. This could help avoid some of the shebang limitations. - by @gaborbernat (#935)

  • Ability to specify package requirements for the tox run via the tox.ini (tox section under key requires - PEP-508 style): can be used to specify both plugin requirements or build dependencies. - by @gaborbernat (#783)

  • Allow one to run multiple tox instances in parallel by providing the --parallel--safe-build flag. - by @gaborbernat (#849)

v3.1.3(2018-08-03)

错误修正

  • 缓存问题导致 develop-inst-nodeps 重新安装测试包以始终运行的操作已解决。这个 develop-inst-noop 顾名思义,操作现在将运行,除非对 setup.pysetup.cfg 尚未反映的文件-由@stehenfin (#909

特征

  • Python version testenvs are now automatically detected instead of comparing against a hard-coded list of supported versions. This enables py38 and eventually py39 / py40 / etc. to work without requiring an upgrade to tox. As such, the following public constants are now deprecated (and scheduled for removal in tox 4.0: CPYTHON_VERSION_TUPLES, PYPY_VERSION_TUPLES, OTHER_PYTHON_INTERPRETERS, and DEFAULT_FACTORS - by @asottile (#914)

文档

  • 在索引页上添加一个系统概述部分,简要说明TOX的工作原理-BY @gaborbernat . (#867

v3.1.2(2018-07-12)

错误修正

v3.1.1(2018-07-09)

错误修正

  • PyPI文档用于 3.1.0 已经坏了。添加了用于检查此问题的测试,并通过 @gaborbernat . (#879

v3.1.0(2018-07-08)

错误修正

  • Add ignore_basepython_conflict, which determines whether conflicting basepython settings for environments containing default factors, such as py27 or django18-py35, should be ignored or result in warnings. This was a common source of misconfiguration and is rarely, if ever, desirable from a user perspective - by @stephenfin (#477)

  • Fix bug with incorrectly defactorized dependencies (deps passed to pip were not de-factorized) - by @bartsanchez (#706)

特征

  • Add support for multiple PyPy versions using default factors. This allows you to use, for example, pypy27 knowing that the correct interpreter will be used by default - by @stephenfin (#19)

  • Add support to explicitly invoke interpreter directives for environments with long path lengths. In the event that tox cannot invoke scripts with a system-limited shebang (e.x. a Linux host running a Jenkins Pipeline), a user can set the environment variable TOX_LIMITED_SHEBANG to workaround the system's limitation (e.x. export TOX_LIMITED_SHEBANG=1) - by @jdknight (#794)

  • introduce a constants module to be used internally and as experimental API - by @obestwalter (#798)

  • 制作 py2py3 别名还可以通过以下方式解析 py 在WindowsBy上 @asottile 。这将启用以下功能: tox -e py2tox -e py3 在Windows上工作(它们已经在POSIX上工作);以及设置 basepython=python2basepython=python3 现在可以在Windows上使用。 (#856

  • 将内部版本解析逻辑从未经过良好测试的 PEP-386 更通用的解析器 PEP-440 . packaging >= 17.1 现在是安装依赖项,由 @gaborbernat . (#860

文档

  • extend the plugin documentation and make lot of small fixes and improvements - by @obestwalter (#797)

  • tidy up tests - remove unused fixtures, update old cinstructs, etc. - by @obestwalter (#799)

  • Various improvements to documentation: open browser once documentation generation is done, show Github/Travis info on documentation page, remove duplicate header for changelog, generate unreleased news as DRAFT on top of changelog, make the changelog page more compact and readable (width up to 1280px) by @gaborbernat (#859)

其他

v3.0.0(2018-04-02)

错误修正

  • 如果可能,直接写入标准输出缓冲区,以防止字符串与字节问题-通过@asottile (#426

  • 使用Skip-Missing-Interpreters选项时报告到json文件的FIX#672-由@r2dan (#672

  • 避免 Requested Python version (X.Y) not installed 方法查找Python环境时的stderr输出 py Windows上的Python启动程序,并且未发现系统上安装了该环境-由@Jurko-gopodnetic (#692

  • 修复了从Python包调用tox的问题,其中发生调用错误(失败的操作)会导致Python 3.x中的sys.stdout流编码发生更改。新的行为是sys.stdout在调用错误后被重置回其原始编码-通过@tonybaloney (#723

  • 读取命令输出有时会失败,原因是 IOError: [Errno 0] Error 在Windows上,通过使用更简单的方法更新读取缓冲区修复了此问题。-by@fschulze (#727

  • (仅限受影响的RC版本)将tox.cmdline设置为无需参数即可调用-by@gborbernat。 (#773

  • (仅限受影响的RC版本)恢复在没有参数的情况下无法调用tox.cmdline的中断更改-by@gborbernat。 (#773

  • (仅受影响的RC版本)通过恢复 cmdline 导入到旧位置并改为更改入口点-通过@fschulze (#755

特征

  • tox 显示退出代码和 InvocationError -由“Blued”和“ederag”撰写。 (#290

  • 提示可能的信号在 InvocationError ,在POSIX系统上-由@ederag和@asottil. (#766

  • 添加 -q option to progressively silence tox's output. For each time you specify -q to tox, the output provided by tox reduces. This option allows you to see only your command output without the default verbosity of what tox is doing. This also counter-acts usage of -v. For example, running tox -v -q ... 将为您提供默认的详细程度。 tox -vv -q 等于 tox -v 。电子邮件:by@sigmavirus24 (#256

  • 添加对否定因子条件的支持,例如 !dev: production_log -作者:@Jurko-gopodtics (#292

  • 标题如 installed: <packages> 如果在:之后没有要显示的输出,则不会打印,除非设置了详细程度。通过@Cratevate (#601

  • 允许命令行选项中的空格以dep表示。其中以前仅限 deps=-rreq.txtdeps=--requirement=req.txt 起作用了,现在也是 deps=-r req.txtdeps=--requirement req.txt 由“Cratvate”创建的作品 (#668

  • 删除Python 2.63.3 支持: setuptools 放弃了对这些的支持,因为我们依赖它,所以我们将继续做同样的事情(使用 tox <= 2.9.1 如果您仍然需要此支持)-by@gborbernat (#679

  • 添加tox_runenvreport作为可能的插件,允许通过@tonybaloney重写默认行为来执行命令以在虚拟环境中获取已安装的软件包 (#725

  • 福沃德 PROCESSOR_ARCHITECTURE 默认情况下,在Windows上修复 platform.machine() . (#740

文档

其他

  • 运行 tox 没有 setup.py 现在有一条更友好的错误消息,并提供故障排除建议-由@Volcyy提供。 (#331

  • 修复pycodestyle(以前称为Pep8)错误E741(变量名不明确,在本例中为‘l’s),并在tox.ini中删除对此错误的忽略-by@crevate (#663

  • 修饰了一下 interpreters.py 代码,并为其添加了一些缺失的测试-由@Jurko-gopodtics编写 (#708

  • 这个 PYTHONDONTWRITEBYTECODE 环境变量不再由@stehenfin取消设置。 (#744

v2.9.1(2017-09-29)

其他

  • 集成了新版本流程并修复了pypi.org-by的ChangeLog呈现 @obestwalter .

v2.9.0(2017-09-29)

特征

  • tox --version now shows information about all registered plugins - by @obestwalter (#544)

错误修正

  • skip_install overrides usedevelop (usedevelop is an option to choose the installation type if the package is installed and skip_install determines if it should be installed at all) - by @ferdonline (#571)

其他

文档

  • 添加 towncrier 要允许使用Pull请求添加ChangeLog条目而不生成合并冲突,此发行说明现在分为四个不同的集合: FeaturesBugfixesImproved DocumentationDeprecations and Removals . (#614

v2.8.2(2017-10-09)

  • #466: 如果popen因result json或redirect而失败,则停止env var泄漏

v2.8.1(2017-09-04)

v2.8.0(2017-09-01)

  • #276: 从文档中删除EASY_INSTALL(TL;DR:使用pip)。谢谢马丁·安德烈 (@sifuraz

  • #301: 展开中的嵌套替换 tox.ini . 谢谢 @vlaci 。多亏了伊莱·柯林斯 (@eli-collins )创建复制器。

  • #315: 添加 --help--version tox-快速入门。谢谢 @vlaci .

  • #326: 固定 OSError 在Jython 2.7.0上创建环境时‘不是目录’。谢谢尼克·杜马 (@LordGaav

  • #429: 福沃德 MSYSTEM 默认情况下,在Windows上。谢谢马吕斯·格德米纳斯 (@mgedmin )来报道这件事。

  • #449: 将多平台示例添加到文档中。谢谢亚历克斯·布宁 (@sashkab@rndr .

  • #474: 开始使用setuptools_scm进行基于标记的版本控制。

  • #484: 更名 py.testpytest 贯穿整个项目。感谢满贯 (@3lnc

  • #504: 用 -a :如果没有其他环境标题,则不显示。谢谢 @rndr .

  • #515: 在没有使用环境变量的测试环境中不需要环境变量。谢谢安德烈·卡隆 (@AndreLouisCaron

  • #517: 福沃德 NUMBER_OF_PROCESSORS 默认情况下,在Windows上修复 multiprocessor.cpu_count() 。谢谢安德烈·卡隆 (@AndreLouisCaron

  • #518: 福沃德 USERPROFILE 默认情况下,在Windows上。谢谢安德烈·卡隆 (@AndreLouisCaron

  • pull request 528: 修复pytest 3.1.0显示的一些警告。谢谢布鲁诺·奥利维拉 (@nicoddemus

  • pull request 547: 添加以下项目的回归测试 #137 。谢谢马丁·安德烈 (@sifuraz

  • pull request 553: 添加XFAIL测试以重现上游错误 #203 。谢谢巴托洛梅·桑切斯·萨拉多 (@bartsanchez

  • pull request 556: 报告有关Viralenv创建失败原因的更有意义的错误。谢谢 @vlaci 。也要感谢伊戈尔·萨德琴科 (@igor-sadchenko )在公关影响大众之前指出了它的问题☺

  • pull request 575: 添加公告文档以结束所有公告文档(仅使用 CHANGELOG 而Github已经发布了2.5版)。

  • pull request 580: 不要再忽略Sphinx警告。谢谢伯纳特·加博尔 (@gaborbernat

  • pull request 585: 扩展文档以解释标志从DEP到PIP的传递(例如 -rrequirements.txt-cconstraints.txt )。谢谢亚历山大·洛切尔 (@loechel

  • pull request 588: 使用xFAIL_STRIGN运行pytest并调整受影响的测试。

v2.7.0(2017-04-02)

  • pull request 450: 在第一次installdep和第一次tetenv创建挂钩成功后停止。这会更改的默认行为 tox_testenv_createtox_testenv_install_deps 当第一个挂接返回的结果不是 None 。谢谢安东尼·索蒂尔 (@asottile

  • #271#464 :改善用户的环境信息。

    新的命令行参数: -a 显示 all 定义的环境-不仅仅是在环境列表中定义的环境(或从环境列表生成的环境)。

    新的详细信息设置 -l-a :显示用户定义的环境描述。这也适用于从因素生成的环境,方法是将因素描述连接到一个完整的描述中。

    请注意,为了向后兼容使用以下输出的脚本 -l 它的产量保持不变。

    谢谢伯纳特·加博尔 (@gaborbernat

  • #464: 修复setup.py中修改的package_dir的错误egg-info位置。谢谢塞利姆·别尔豪安 (@selimb

  • #431: 将‘language’添加到默认传递的环境变量。谢谢paweładamczak (@pawelad

  • #455: 添加一个带有自定义Arch Linux盒的Vagrantfile用于本地测试。谢谢奥利弗·贝斯特沃特 (@obestwalter

  • #454: 恢复 pull request 407 ,则不会将空命令视为错误。谢谢安东尼·索蒂尔 (@asottile

  • #446: (基础设施)Travis CI tox 测试现在也可以在OS X上运行。谢谢杰森·R·库姆斯 (@jaraco

V2.6.0(2017-02-04)

  • 添加“alwaycope”配置选项,指示viralenv总是复制文件,而不是符号链接。谢谢伊戈尔·杜阿尔特·卡多佐 (@igordcard

  • 在useDevelopment安装期间将setenv变量传递给setup.py。谢谢伊莱·柯林斯 (@eli-collins

  • 将所有对testrun.org的引用替换为readthedocs引用。谢谢奥利弗·贝斯特沃特 (@obestwalter

  • 修理 #323 避免了在py32上使用viralenv14(尽管我们没有正式支持py32)。谢谢杰森·R·库姆斯 (@jaraco

  • 将Python 3.6添加到envlist和CI。谢谢安德烈·索尔达滕科 (@andriisoldatenko

  • 修复TOX_TESTENV_PASSENV环境变量中的全局分辨率谢谢艾伦·费尔德曼 (@a-feld

V2.5.0(2016-11-16)

  • slightly backward incompatible: fix #310: the {posargs} substitution now properly preserves the tox command line positional arguments. Positional arguments with spaces are now properly handled. NOTE: if your tox invocation previously used extra quoting for positional arguments to work around #310, you need to remove the quoting. Example: tox -- "'some string'" # has to now be written simply as tox -- "some string" thanks holger krekel. You can set minversion = 2.5.0 in the [tox] section of tox.ini to make sure people using your tox.ini use the correct version.

  • 修理 #359 :将COMSPEC添加到Windows上的默认passenv。谢谢 @anthrotype .

  • 添加对py36和py37的支持,并将py36-dev和py37(夜间)添加到Travis版本的tox中。谢谢约翰·范登伯格。

  • 修理 #348 :添加py2和py3作为默认环境,指向“python2”和“python3”basepython可执行文件。还可以修复 #347 通过更新TOX基本示例中的默认环境列表。谢谢托拜厄斯·麦克纳尔蒂。

  • 即使没有tox.ini,也要使“-h”和“--help-ini”选项起作用,谢谢Holger Krekel。

  • 添加{:}替换,替换为特定于操作系统的路径分隔符,感谢Lukasz Rogalski。

  • 修理 #305downloadcache 测试环境配置现在被忽略,因为pip-8在默认情况下执行缓存。谢谢霍尔格·克雷克尔。

  • 现在,详细(-vv)模式下install命令的输出将打印到控制台,而不是重定向到文件,这要归功于Lukasz Rogalski

  • 修理 #399 。如果在测试环境运行开始时不存在{envtmpdir},请确保创建了{envtmpdir}。谢谢曼努埃尔·雅各布。

  • 修理 #316 :在ini文件中缺少命令键现在被视为错误。报告的viralenv状态为“Not to Do”,而不是“Commands Successful”,并显示相关错误消息。谢谢卢卡斯·罗加尔斯基。

v2.4.1(2016-10-12)

  • 修理 #380 :再次正确执行替换。谢谢伊恩·科达斯科。

V2.4.0(2016-10-12)

  • 在安装阶段从环境中删除PYTHONPATH,因为tox运行不应该有隐藏的依赖项,并且test命令也不会看到PYTHONPATH。如果这导致了不可预见的问题,它可能会在修复版本中恢复。谢谢杰森·R·库姆斯。

  • 修理 #352 :防止envdir==toxinidir的配置,并优化文档以警告人们更改“envdir”。谢谢奥利弗·贝斯特沃特和霍格·克莱克尔。

  • 修理 #375 ,修复 #330 :警告不要集成tox-setup.py,因为“setup.py test”实际上应该只使用当前的解释器进行测试。谢谢罗尼·范施密特。

  • 修理 #302 :允许在我们使用替身的地方使用交叉TESTNEV替换 {{x,y}} 生成句法。谢谢安德鲁·帕什金。

  • 修理 #212 :如果需要大括号字符“{”和“}”出现在命令或其他ini值中,则允许对大括号字符“{”和“}”进行转义。谢谢约翰·范登伯格。

  • 地址 #66 :添加--workdir选项以覆盖tox存储其“.tox”目录和所有Virtualenv环境的位置。谢谢丹宁。

  • 引入per-venv list_Dependency_command,默认为“pip Freeze”,以获取已安装软件包的列表。谢谢泰德·肖,霍格·克莱克尔。

  • 关闭 #66 :将文档添加到Jenkins页面,说明如何在从tox调用pip时避免“太长的shebang”行。请注意,我们不能默认使用“python-m pip install X”,因为后者会添加CWD,如果安装了X,pip会认为它已经安装了。“pip install X”不会这样做。

  • 新的LIST_DISTENIES_COMMAND用于影响tox如何确定在testenv中安装哪些依赖项。

  • (实验性)新特性:当搜索配置文件失败时,tox会尝试加载带有节前缀“tox”的setup.cfg。

  • 修理 #275 :介绍挂钩 tox_runtest_pre ‘和 tox_runtest_post 它们分别在VINV的测试之前和之后运行。多亏了马修·辛克尔和伊萨卡·塞拉诺。

  • 修理 #317 :在完全解析tox配置之前评估minversion。谢谢Sachi King的公关。

  • 添加了“Extras”环境选项,以指定在执行sdist或Development安装时要使用的Extras。作者:Alex Grönholm。

  • 使用pytest-catchlog代替pytest-capturelog(后者不维护,使用过时的pytest接口)

v2.3.2(2016-02-11)

  • 修理 #314 :修复Windows上使用.py脚本的命令调用。

  • 修理 #279 :当值包含倒角时,允许横截面替换。谢谢Sachi King的公关。

v2.3.1(2015-12-14)

  • 修理 #294 :重新允许setenv的横截面替换。

v2.3.0(2015-12-09)

  • 不推荐在tox.ini中使用“indexservers”。它使内部代码变得复杂,建议使用devpi系统来管理pip的索引。

  • 修理 #285 :使setenv处理完全惰性,以修复tox-2.2.X的回归,这样我们现在就可以拥有像“basepython”这样的testenv属性,这些属性依赖于setenv部分中设置的环境变量。感谢Nelfin的一些测试和公关的初步工作。

  • 允许在命令中使用“#”。这与在“”行延续后使用注释的命令部分略有不兼容。感谢大卫·斯坦内克的公关。

  • 修理 #289 :修复build_sphinx目标,谢谢Barry Warsaw。

  • 修理 #252 :允许环境名称使用特殊字符。感谢朱利安·卡斯特斯最初的公关和耐心。

  • 引入实验性的tox_teennv_create(venv,action)和tox_teennv_install_deps(venv,action)挂钩,以允许插件在创建或安装dep时执行额外的工作。这些钩子是试验性的,主要是因为涉及“venv”和会话对象,它们当前的公共API不是完全保证的。

  • 内部:将一些可选的对象创建推入测试,因为tox内核不需要它。

v2.2.1(2015-12-09)

  • 修复了错误,如果在{basepython}中使用了env值,则无法在setenv中使用{envdir}替换。谢谢弗洛里安·布鲁因。

v2.2.0(2015-11-11)

  • 修理 #265 默认情况下,将LD_LIBRARY_PATH添加到Linux上的passenv,因为否则python解释器可能无法在某些配置(redhat软件集合)下启动。谢谢大卫·里德尔。

  • 修理 #246 :通过重新排序修复配置解析中的回归,以便可以在tox.ini中再次使用{envbindr}。谢谢奥利·沃尔什。

  • 修理 #99 :{env:.}替换现在可以正确使用 setenv 部分。谢谢伊塔卡·塞拉诺。

  • 修理 #281 :make--force-dep在依赖项配置中存在URL时工作。谢谢Glyph Lefkowitz的报道。

  • 修理 #174 :添加新的 ignore_outcome Testenv属性,该属性可以设置为True,在这种情况下,它将在失败的Testenv命令结果中生成警告,而不是错误。谢谢丽贝卡·古利克松的公关。

  • 修理 #280 :如果命令中存在{envsitepackagesdir},请正确跳过缺少的解释器。谢谢BB:Ceridwenv

v2.1.1(2015-06-23)

  • 修复了 detox 的平台忽略问题

  • 在摘要中将跳过的平台报告为跳过

v2.1.0(2015-06-19)

  • 修理 #258 ,修复 #248 ,修复 #253 :对于非测试命令(安装、venv创建),我们在完整的调用环境中传递。

  • 删除试验性的--set-home选项,该选项很少使用并且实现得很粗糙(如果人们想要主目录隔离,我们应该找出更好的方法,可能是通过插件)

  • 修理 #259 :passenv现在是允许散布注释的行列表。谢谢Stefano-m。

  • 允许envlist是多行列表,以散布注释,并更自然地拆分较长的envlist设置。谢谢安德烈·卡隆。

  • 引入TOX_TESTENV_PASSENV设置,该设置在为测试环境构建环境变量集时适用。感谢马克·阿布拉莫维茨向这个方向推进。

v2.0.2(2015-06-03)

  • 修理 #247 :TOX现在默认情况下将LANG变量从TOX调用环境传递到测试环境。

  • 将SYSTEMDRIVE添加到Windows上的默认passenv中,以允许piap6工作。谢谢迈克尔·克劳斯。

v2.0.1(2015-05-13)

  • 修复轮子包装以正确要求py26上的argparse。

v2.0.0(2015-05-12)

  • (新)引入环境变量隔离:TOX现在只将PATH和PIP_INDEX_URL变量从TOX调用环境传递到测试环境,并且在Windows上也是如此 SYSTEMROOTPATHEXTTEMPTMP 而在Unix上另外 TMPDIR 已经过去了。如果需要传递更多环境变量,可以使用新的 passenv 设置时,以空格分隔的环境变量名列表。每个名称都可以使用fnMatch样式的全局模式。存在于tox-invocation环境中的所有环境变量都将被复制到测试环境中。

  • 一个新的 --help-ini 选项显示所有可能的TESTNEV设置及其默认值。

  • (新)引入一种指定在哪个平台上执行测试环境的方法:新的per-venv“platform”设置允许指定与sys.platform匹配的正则表达式。如果设置了平台,但与测试环境中的平台规范不匹配,则会忽略测试环境,不会尝试任何设置或测试。

  • (新增)增加每个venv的“IGNORE_ERROR”设置,默认为FALSE。

    如果 True ,则一个命令的非零退出代码将被忽略,并将执行其他命令(这是tox<2.0中的默认行为)。如果 False (默认值),则一个命令的非零退出代码将中止该环境的命令执行。

  • 在JSON中显示并存储每个终端的版本依赖信息

  • 删除长期不建议使用的“分发”选项,因为它现在不起作用。

  • 修理 #233 :避免使用tox-setuptools集成示例挂起。谢谢西蒙布。

  • 修理 #120 :允许替换命令部分。谢谢你,Volodymyr Vitvitski。

  • 修理 #235 :使用--installpkg修复AttributeError。谢谢你,Volodymyr Vitvitski。

  • 多亏了Volodymyr Vitvitski,Tox8现在有了一些干净的代码。

  • 修理 #240 :允许指定空参数列表,而不将其重写为“.”。谢谢丹尼尔·哈勒。

  • 介绍基于pytest外化的“插入式”系统的实验性插件系统(文档还不多)。有关当前挂钩的信息,请参见tox/hookspecs.py。

  • 引入parser.add_testenv_attribute()为tetenv节注册ini变量。可以通过tox_add_option挂钩从插件使用。

  • 重命名内部文件--除了实验性的插件挂钩之外,tox不提供任何外部API,使用tox内部代码的风险自负。

  • 文档中不建议使用发行共享

v1.9.2(2015-03-23)

  • 由于各种问题,--force-dep替换需求文件中的名称/版本的回退能力。这会修复 #228 修正 #230 修正 #231 弹出的是1.9.1。

v1.9.1(2015-03-23)

  • 在“--result-json”中使用文件而不是管道进行命令输出。修正了python2.6的一些终止问题。

  • 允许--force-dep覆盖“-r”需求文件中的依赖项。感谢Sontek的公关。

  • 修理 #227 :使用“-m viralenv”而不是“-mvirtualenv”使其与pyrun一起工作。谢谢马克·安德烈·伦伯格。

v1.9.0(2015-02-24)

  • 修理 #193 移除 --pre 从默认值 install_command ;默认情况下,TOX现在将只安装PyPI的最终版本,用于未固定的依赖项。使用 pip_pre = true 在TESTNEV或TERSTIV中 --pre 命令行选项来恢复以前的行为。

  • 修理 #199 :在创建viralenv之前填充结果日志结构

  • 如果我们是从詹金斯那里跑出来的,那就再精确一点,谢谢博格·莱恩斯。

  • 在以下情况下将回显输出发送到标准输出 --report-json 使用

  • 修理 #11 :添加 skip_install 防止安装程序包的逐条设置。谢谢朱利安·克劳斯。

  • 修理 #124 :忽略命令退出代码;当命令带有“-”前缀时,tox将忽略该命令的退出代码

  • 修理 #198 :修复损坏的环境列表设置,例如{py26,py27}{-lint,}

  • 修理 #191 :减少系数-使用检查

v1.8.1(2014-10-24)

  • 修理 #190 :允许setenv为空。

  • 允许使用“”转义大括号。感谢马克·阿布拉莫维茨的公关。

  • 允许“。环境名称中的名称,如“py27-django1.7”是有效的环境名称。谢谢亚历克斯·盖纳和亚历克斯·谢帕诺夫斯基。

  • 执行失败时报告子进程退出代码。谢谢马吕斯·格德米纳斯。

v1.8.0(2014-09-24)

  • 新的多维配置支持。非常感谢亚历山大·谢帕诺夫斯基(Alexander Schepanovski)为医生做了完整的公关。以及迈克·拜耳和其他人的测试和反馈。

  • 修理 #148 :启动子进程时从os.environ中删除“__PYVENV_Launcher__”。谢谢史蒂文·明特。

  • 修理 #152 :运行测试命令时设置VIRTUAL_ENV,谢谢Florian Ludwig。

  • 如果我们无法从解释器可执行文件中获取VERSION_INFO,最好报告。谢谢弗洛丽斯·布鲁努格。

v1.7.2(2014-07-15)

  • 修理 #150 :解析{posargs}更像我们在1.7.0之前所做的那样。1.7.0的行为破坏了很多OpenStack项目。请参阅PR85和问题讨论以了解(远)更多细节,希望能在1.8系列中实现更精致的行为。感谢克拉克·博伊兰的公关。

  • 修理 #59 :添加配置变量 skip-missing-interpreters 以及命令行选项 --skip-missing-interpreters 如果tox.ini中列出的Python解释器丢失,它不会使构建失败。谢谢亚历山大·康拉德的PR104。

  • 修理 #164 :在测试命令失败的情况下提供更好的回溯信息。感谢马克·阿布拉莫维茨的PR92。

  • 支持可选的环境变量替换,感谢Morgan Fainberg的PR86。

  • 在Windows上将python散列种子限制为1024,以防止可能的内存错误。感谢马奇·施莱克提供的PR90。

版本1.7.1(2014-03-28)

  • 修理 #162 :不将python 2.5列为兼容/支持

  • 修理 #158 并修复 #155 :windows/viralenv现在正常工作:使用调用tox的相同解释器通过“python-m viralenv”调用viralenv。谢谢克里斯·威瑟斯,艾奥内尔·马里斯·克里斯蒂安。

v1.7.0(2014-01-29)

  • 不要再查找“pip-script”,而是只在Windows上查找“pip”,因为这是一个pip实现细节,并在pip-1.5中进行了更改。这可能意味着TOX-1.7不能再将不同的PIP版本安装到Virtualenv中。

  • 放弃Python2.5兼容性,因为由于setuptools-2.0取消支持,它变得太难了。Tox现在不再支持创建基于python2.5的环境,并且所有内部特殊处理都已删除。

  • 合并PR81:新选项--force-dep,允许用户覆盖setuptools-style中指定的tox.ini依赖项。例如,“--force-dep‘Django<1.6’”将确保任何使用“Django”作为依赖项的环境都将获得最新的1.5版本。感谢布鲁诺·奥利维亚的完整公关。

  • 合并的PR125:TOX现在将“PYTHONHASHSEED”设置为随机值,并提供“--hashSeed”选项来使用特定种子重复测试运行。您还可以使用--hashsheed=noset指示tox不要使用该值。感谢克里斯·杰多尼克为这件事所做的一切工作。

  • 修理 #132 :删除zip_safe设置(因此默认设置为false),以允许通过Easy_Install/Eggs安装TOX。谢谢杰尼斯。

  • 修理 #126 :依赖于viralenv>=1.11.2,这样我们就可以依赖(希望)支持--pre的pip版本。(TOX默认使用to--pre)。还合并到PR84中,因此我们现在直接调用“viralenv”,而不是查找解释器。谢谢你,艾诺·马利·克里斯蒂安。这也修复了 #140 .

  • 修理 #130 :您现在可以设置INSTALL_COMMAND=EASY_INSTALL{opts}{Packages},并期望它可以重复执行tox运行(以前,它只在总是重新创建时才起作用)。感谢杰尼斯的精确报道。

  • 修理 #129 :TOX现在使用Popen(.,Universal_newline=True)强制创建Unicode stdout/stderr流。修复了使用Python3.3创建viralenv时特定平台配置上的问题。感谢约尔根·舍费尔(Jorgen Schäfer)或调查与解决方案草图。

  • 修理 #128 :在install_command中启用完全替换,感谢对Ronald Evers的PR

  • 重新处理和简化“命令”解析,特别是posargs替换,以避免各种与Win32/POSIX相关的引用问题。

  • 确保--installpkg选项胜过tox.ini或

  • 在tox自己的测试套件中引入--no-network,以跳过需要网络的测试

  • 引入--SitPackages以强制SitPackages=True在所有环境中。

  • 修理 #105 --不要依赖 tox 测试的现有主目录。

v1.6.1(2013-09-04)

  • 修理 #119 :{envsitepackagesdir}现在计算正确,并且有更好的测试来防止回归。

  • 修理 #116 :使1.6引入的在安装活动期间更改为每个环境的主目录的行为目前依赖于“--set-home”。应该在没有选择的情况下重新建立旧的行为。

  • 修理 #118 :正确使用realpath()进行两个测试。谢谢巴里·华沙。

  • 修复测试在没有主目录的环境中运行(在本例中,我们使用toxinidir作为主目录)

  • 修理 #117 :python2.5修复:不使用 --insecure 选项,因为它的存在依赖于“SSL”的存在。如果您希望支持基于python2.5/Pip1.3.1的测试环境,则需要安装SSL和/或使用PIP_INSECURE=1到 setenv 。部分。

  • 修理 #102 :安装依赖项时更改为{toxinidir}。这允许用户使用相对路径,如“-rrequirements.txt”中的路径。

v1.6.0(2013-08-15)

  • 修理 #35 :添加新的实验性“install_command”teennv-option,以使用dep/pkg install选项配置安装命令。谢谢卡尔·迈耶的公关和文档。

  • 修理 #91 :python2.5支持,方法是提供viralenv-1.9.1脚本并强制pip<1.4。也是默认设置 [py25] Environment将默认的installer_command(新的配置选项)修改为使用不带“--pre”选项的pip,该选项是在pip-1.4中引入的,如果您想要安装不稳定的版本,现在需要使用该选项。(tox默认安装时随处带有“--pre”)。

  • 在安装依赖项期间,home现在设置为伪位置({envtmpdir}/seudo-home)。如果指定了索引URL,则将使用index_url设置写入.pydistutils.cfg文件,以便定义 setup_requires 依赖项不会静默使用您的主目录设置或PyPI。

  • 修理 #1 :正确检测到空安装文件,感谢Anthon van der Neuth

  • 现在删除toxbootstrap.py,因为它已损坏。

  • 修理 #109 并修复 #111 :现在组合了多个“-e”选项(以前最后一个将获胜)。谢谢安东·范德诺特。

  • 添加--result-json选项,将详细的每页信息写到json报告文件中,供上游工具使用。

  • 添加新的配置选项 usedevelopskipsdist 以及命令行选项 --develop 若要在开发模式下安装测试包,请执行以下操作。谢谢蒙蒂·泰勒的公关。

  • 始终取消设置PYTHONDONTWRITEBYTE,因为较新的安装工具不喜欢它

  • 如果不能确定HOMEDIR,则使用 toxinidir 。

  • 重构解释器信息检测,使其位于新的tox/Interpreters.py文件、test/test_Interpreters.py中的TESTS中。

1.5.0版(2013-06-22)

  • 修理 #104 :默认情况下使用setuptools,而不是分布式,因为setuptools已经合并了分布式。

  • 确保首先在虚拟环境中搜索测试命令

  • 重新修复 #2 -添加要在中使用的WHILELIST_EXTERNAL [testenv*] 节,从而避免对命令发出警告,例如 make ,从命令值中使用。

  • 修理 #97 -允许从其他部分引用替换(感谢Krisztian Fekete)

  • 修理 #92 -修复{envsitepackagesdir}以再次实际工作

  • 正在执行的show(Test)命令,感谢Lukasz Balcerzak

  • 将TOX许可证重新授权给麻省理工学院许可证

  • 依赖于viralenv-1.9.1

  • 将readme.txt重命名为readme.rst以使Bitbucket更快乐

v1.4.3(2013-02-28)

  • 在Win32上使用pip-script.py而不是pin.exe,以避免在执行问题上锁定exe文件(感谢Philip Thiem)

  • 引入-l|--listenv选项以列出已配置的环境(感谢Lukasz Balcerzak)

  • 修复downloadcache确定以根据文档工作:只有在pip_download_cache或downloadcache=path teennv设置存在的情况下才让pip使用下载缓存。(ENV设置优先)

  • 修理 #84 -windows上的pyPy创建bin,而不是脚本venv目录(感谢Lukasz Balcerzak)

  • 实验引入--installpkg=path选项来安装软件包,而不是创建/安装sdist软件包。这仍然需要并使用当前工作目录(而不是远程软件包)中的tox.ini和测试。

  • 包含软件包安装目录的替身{envsitepackagesdir}(关闭 #72 )(谢谢g2p)

  • 问题 #70 删除PYTHONDONTWRITEBYTECODE解决方法,现在viralenv运行正常(感谢g2p)

  • 合并了由Marc Abramowitz贡献的tox-ick start命令,该命令在询问几个问题后生成默认的tox.ini

  • 修理 #48 -Win32检测PATH上的PyPy和其他解释器(感谢Gustavo Picon)

  • 修复了索引服务器的分组,现在可以按名称而不是indexserver url进行分组,即使使用相同的默认indexserver,也可以使用它将依赖项分成组。

  • 在当前目录的父目录中查找“tox.ini”文件(关闭 #34

  • 现在,“py”环境现在缺省使用当前解释器(sys.ecutable)make tox自己的setup.py测试使用它执行测试(关闭 #46

  • 更改测试以不依赖于os.path.expanduser(关闭 #60 ),也使模拟会话返回参数 [1:] 为了进行更精确的检查(关闭 #61 )这两件事都要感谢巴里·华沙(Barry Warsaw)。

v1.4.2(2012-07-20)

  • 修复一些在/tmp是指向其他位置的符号链接时失败的测试

  • “python setup.py test”现在通过tox:)运行tox测试。

v1.4.1(2012-07-03)

  • 修理 #41 在windows上更好地报价-您现在可以在deps规范中使用“<”和“>”,谢谢Chris Withers的报道。

v1.4(2012-06-13)

  • 修理 #26 -对于命令的绝对或相对指定路径没有警告

  • 修理 #33 -在允许指定如下命令的键值设置中忽略注释字符:python-c“import sys;print sys”,这在以前会引发恼人的错误,因为“;”被视为注释

  • 调整和改进报告

  • 重构报告和Viralenv操作,使其更易于从第三方工具访问

  • support value substitution from other sections with the {[section]key} syntax

  • 修理 #29 -正确指向导入完全限定模块的最热说明

  • 修理 #32 --使用--system-site-Packages,不要通过--no-site-Packages

  • 将python3.3添加到默认环境列表中,以便早期采用者可以测试

  • 取消python2.4支持(您仍然可以在上面运行测试

  • 修复文档python-2.4中的链接/结账方法,仅tox本身就需要2.5或更高版本。

v1.3 2011-12-21

  • FIX:允许用户在指定依赖项时指定通配符文件系统路径,以便tox搜索最高版本

  • 修复问题 #21 :清除PIP_REQUIRED_VIRTUALENV,避免将PIP安装到错误的环境,这要归功于BB的Streeter

  • 使安装步骤遵循tetenv的setenv设置(谢谢Ralf Schmitt)

v1.2 2011-11-10

  • 删除与tox一起分发的viralenv.py,并依赖于>=viralenv-1.6.4(现在可能,因为后者修复了内联试图解决的几个bug)

  • 修理 #10 :解决调用pip时出现UnicodeDecodeError的问题(感谢Marc Abramowitz)

  • 修复在tox命令中解析{posargs}的问题(由商誉发现)

  • 修复要安装在testEnvironment中的命令的警告检查(感谢Michael Foord的报告)

V1.1(2011-07-08)

  • 修理 #5 -拥有argparse的python版本不需要argparse

  • 修理 #6 -如果安装依赖项失败,则重新创建Virtualenv

  • 修理 #3 -修复FrontPage上的示例

  • 修理 #2 -如果测试命令不是来自测试环境,则发出警告

  • 已修复/增强:除初始安装外,始终调用“-U--no-deps”来安装sdist软件包,以确保即使软件包的版本号没有更改也能进行升级。(在TIP邮件列表和IRC上报道)

  • 内联viralenv.py(1.6.1)脚本以避免许多问题,特别是无法从python2 viralenv安装安装python3环境。

  • 重新处理和增强文档,以便在readthedocs.org上显示

v1.0

  • 将存储库和xxbootstrap链接移动到https://bitbucket.org/hpk42/tox

  • 修理 #7 :引入“minversion”指令,这样如果没有正确的版本,tox就会退出。

  • 修理 #24 :介绍一种为测试命令设置环境变量的方法(谢谢Chris Rose)

  • 修理 #22 :需要viralenv-1.6.1,取代了viralenv5(感谢Jannis Leidel),并使PyPy-1.5和python3更无缝地工作

  • py(由Jenkins构建代理使用)现在遵循最新版本的viralenv

  • 修理 #20 :指定依赖项的URL的文档格式

  • 修理 #19 :项目更名后,替换 Hudson 为 Jenkins 随处可见。注意:如果您使用的是特定 [tox:hudson] 部分现在需要将其命名为 [tox:jenkins] .

  • 修复问题23/应用一些睡觉修复

  • 更改位置参数说明符以使用{posargs:}语法并修复问题 #15#10 通过改进参数解析方法(克里斯·罗斯)

  • 删除inipkg惰性导入逻辑-使用tox,名称空间/导入无论如何都非常小。

  • 修复与fspath相关的断言,以便与使用符号链接的Debian安装一起使用

  • 显示底层viralenv调用的路径,并将viralenv.py引导到工作子目录

  • 添加了参与者文件

v0.9

  • 通过始终取消设置PIP_REPREATE_VIRTUALENV(感谢Armin Ronacher)修复pip-install混淆

  • #1: 多亏了Sridhar Ratnakumar,为tox添加了一个toxbootstrap.py脚本

  • 添加了对使用不同和多个PyPI索引服务器的支持。

  • 新选项:-r|--rereate以强制重新创建虚拟环境

  • 依赖py>=1.4.0,它不再包含或安装py.test,它现在是一个单独的发行版“pytest”。

  • 出现错误时显示日志文件内容(使配置项输出更具可读性)

v0.8

  • 解决如果设置了PYTHONDONTWRITEBYTECODE就会崩溃的Virtualenv限制。

  • 从环境日志目录运行pip/Easy安装,避免环境名称和依赖项之间的命名冲突(感谢Ronny)

  • 需要更新版本的py lib

  • 重构和优化配置检测,以从单个文件开始工作,并检测Python安装覆盖旧文件并生成新可执行文件的情况。这现在会使现有的虚拟环境无效。

  • 将所有内部源更改为去掉尾随空格

v0.7

  • 现在使用viralenv5(我自己的viralenv3分支)来创建python3环境,修复了几个问题,并使tox更有可能与python3一起工作(在非windows环境中)。

  • 添加 sitepackages Testenv部分的选项,以便可以使用全局访问权限创建环境(默认情况下不具有访问权限,即使用以下选项创建环境 --no-site-packages .

  • 寻址 #4 :调用子进程时,始终将venv-path作为PATH变量的前缀

  • 修理 #2 :如果出现错误或测试失败,则使用适当的非零返回代码退出。

  • 添加了由Michael Foord贡献的单元测试2个示例

  • 对于布尔型配置值,只允许‘True’或‘False’(小写/大写无关)

  • 在更改的配置上重新创建虚拟环境

v0.6

  • 修复可能导致调用者环境崩溃的OSX相关错误(抱歉)。TOX使用与Virtualenv相同的文件来跟踪Python可执行文件依赖关系,并且还有念力wrt链接。这个问题现在应该可以解决了。

  • 修正了冗长的描述,谢谢Michael Foord

v0.5

  • 首批发放