gpt4 book ai didi

python 蟒: how to test if updated libraries are compatible with my existing code?

转载 作者:太空狗 更新时间:2023-10-30 02:44:22 27 4
gpt4 key购买 nike

我在 Windows 7 机器上使用 Python 2.7 Anaconda 安装进行数据分析和科学计算。

当新库发布时(例如新版本的 pandas、patsy 等),您会建议我如何测试新版本与我现有代码的兼容性?是否可以在同一台机器上安装两个 Anaconda?你会推荐某种虚拟环境吗?有没有一种简单的方法可以使用 Anaconda 回滚到以前版本的库?

我之所以这么问,是因为上周大部分时间都在试图弄清楚为什么我以前的代码不再适用于新版本的 pandas 和 patsy。无需评论我因此有多生气......

顺便说一下,这也表明 Python 是一种潜在的有趣的数据分析和科学计算语言,但只是潜在的。主要库太不稳定和不成熟。 Pandas 大约在 3.5 年前发布,我们离 v 1.0 还很远,所以我不希望事情会随着时间的推移变得更好。想象一下,如果 Matlab 的每个新版本都需要对所有代码进行重大重写:Mathworks 早就倒闭了!

最佳答案

您可以在单独的虚拟环境中安装所有依赖项的特定版本,并在那里测试您的模块。这可以通过以下工作流程实现,

$ conda create --yes -n new_env pip numpy=1.9 pandas=0.16 python=2 # specify the required versions
$ activate new_env
$ # install and test your module
$ deactivate

您可以在一台机器上拥有任意数量的虚拟环境。

我能理解更新失败时的挫败感,但恕我直言,python 中的核心科学模块(numpy、scipy 和 pandas 到达那里)非常稳定和成熟。稳定性与拥有 1.0 版本无关。诚然,可能会有一些向后不兼容的更改,因为改进和保持可管理的代码库是要付出代价的,但总的来说是相当合理的。

它更多的是关于不应与给定机器上的安装相关联的部署/测试策略。如果您使用具有持续集成 (CI) 的版本控制并在虚拟环境中进行部署,那么如果更新出现问题,应该可以很容易地恢复到以前的设置。

关于 python 蟒: how to test if updated libraries are compatible with my existing code?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29850542/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com