我了解到 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 channel ,也许还可以使用 conda
选择一个更新的 pytest
,但我厌倦了一切都已经过时并拥有每次创建环境时指定 channel 列表。附言是的,我知道可能有一个包含 channel 的需求列表格式,但这没有捕获重点。另外,我们希望需求列表能够与使用 pip
的需求列表进行互操作。
最佳答案
虽然我过去在 conda
方面有过很好的经验,但我建议看看 pyenv .
pyenv
纯粹用bash编写,可以让您轻松处理不同python解释器和虚拟环境的安装和管理。
在我看来,它具有 conda、virtualenv、virtualenvwrapper 等工具的最佳功能,同时避免了除 bash 之外的任何依赖项,并且可以与现有的 Python 生态系统(而不是像 conda 等另一个包存储库)很好地配合。
关于python - pytest 3.x 与 2.x 相比有什么重要的地方吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39759679/