pytest 3.x 有啥比 2.x 重要的东西吗?

Posted

技术标签:

【中文标题】pytest 3.x 有啥比 2.x 重要的东西吗?【英文标题】:Does pytest 3.x have anything significant over 2.x?pytest 3.x 有什么比 2.x 重要的东西吗? 【发布时间】:2017-02-07 03:39:31 【问题描述】:

我了解到 Python Anaconda 的 conda 程序在管理包和环境方面比 pip 好得多 --- 它甚至有依赖冲突管理,而 pip 没有。

问题是conda 使用的是 Continuum 存储库而不是 PyPI,而且很多东西(例如cx_Oracle)都已经过时了!其中最大的一个是 pytest,它在 Continuum 上目前仅适用于 2.9.2 版,而 PyPI 已经在 pytest 3.0.2 版。

那么pytest 的 3.x 版本是否比 2.x 行有显着的功能?还是我必须放弃conda 及其卓越的包管理并切换回pip 才能获得最新的包? (我不应该做出这个决定……但 Python 生态系统就是这样。)

附:我知道我可以四处寻找并指定一个不同的 Continuum 频道,也许可以使用conda 选择一个更新的pytest,但我已经厌倦了所有过时的内容,并且每次创建时都必须指定一个频道列表一个环境。附言是的,我知道可能有一个包含渠道的需求列表格式,但这没有抓住重点。此外,我们希望要求列表与使用 pip 的要求列表互操作。

【问题讨论】:

我建议阅读这篇文章。 wiki.python.org/moin/Python2orPython3 但从你的代表来看,你可能已经拥有了。 @thesonyman101 为什么他要阅读 python2 和 python3 的比较来决定第 3 方 pytest 的版本? 为什么不呢,即使它与问题无关,它仍然是一本好书。不像我发布的答案说读这个。 doc.pytest.org/en/latest/changelog.html 为什么不将频道添加到您的 conda 配置中? conda config --add channels conda-forge。当然,你可以从 conda-forge 获得一切,但它们往往是最新的 【参考方案1】:

虽然我过去对conda 有过很好的体验,但我还是建议看看pyenv。

pyenv 纯粹用 bash 编写,让您可以轻松处理不同 python 解释器和虚拟环境的安装和管理。

在我看来,它具有 conda、virtualenv、virtualenvwrapper 等工具的最佳功能,同时避免了除了 bash 之外的任何依赖,并且与现有的 Python 生态系统而不是像 conda 这样的另一个包存储库很好地配合。

【讨论】:

它如何检测和处理依赖冲突?它在 Windows(不是 WSL)上的效果如何?

以上是关于pytest 3.x 有啥比 2.x 重要的东西吗?的主要内容,如果未能解决你的问题,请参考以下文章

有啥比 document.execCommand 更好的吗?

有啥比 dict() 更快的吗?

这段代码有啥比 boost mutex 更快的吗?

.NET 中有啥比 SqlDataReader 更快的吗?

有啥比 CORBA 更适合跨语言程序通信的吗?

有啥比在 Java Spring Boot 中使用自定义查询更好的方法?