pip install 今年将出现重大变化!


点击上方“编程派”,选择设为“设为星标

优质文章,第一时间送达!pip install 今年将出现重大变化!_Java

今天看到一则 PSF 的消息,表示会在今年推出一个新版的 pip 解析器(pip resolver)。这个解析器的作用,就是在你输入 pip install 命令时,判断如何安装库和相关依赖。

更新之后,不会再出现自动安装的依赖,与指定库要求不符的情况了。pip install 今年将出现重大变化!_Java_02

会有哪些变化?

主要涉及两点:

1、减少不一致性。

pip install 不会再安装相互要求不一致的包了。当前,可能会出现安装的指定依赖库,不满足另一个已安装的包的要求。比如,pip install six<1.12 virtualenv==20.0.2 就会出错:成功安装 six==1.11版本,但是事实上 virtualenv==20.0.2 要求 six>=1.12.0。

这样,就可能会出现 virtualenv 无法使用的情况。

2、依赖解析会更严格。

为了避免上面的问题,新版的解析器,会直接拒绝同时安装两个相互冲突的库。

为什么要关注?

可能大部分人会觉得,这和我日常使用 pip 的关系不大。实则不然。

首先,新版发布后可能会存在 bug,有一定几率会影响到正常使用。所以有机会的话,建议参加 PSF 组织的用户调研,报名地址:http://www.ei8fdb.org/thoughts/2020/03/pip-ux-study-recruitment/

其次,新版发布后正常工作,但是如果你当前的环境本身就存在一些冲突,可能会给你带来意料之外的麻烦。所以建议提前做如下检查:

在当前环境中运行 pip check 命令,这将检查当前环境中是否存在相互冲突的包。可以给大家更多的时间去解决问题。

最后,新版本预计最早在 5 月进行测试,计划在下半年早些时候正式推出。

这个时间窗口已经没有多久时间了,所以建议大家提早准备。