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 重要的东西吗?的主要内容,如果未能解决你的问题,请参考以下文章