如何匹配Python库的版本?

      在工作中,有可能遇到这样一个问题:我前天安装的某个库还能用,今天怎么就不能用了呢?原因很可能是这样的:某些库的依赖包版本冲突了。

假设A库依赖a包版本1.1版本,B库依赖a包的1.0版本。

我们在前天安装了A库,且能正常使用,此时a包为1.1版本。

但是在今天我们安装了B库,它的依赖a包为1.0版本,所以必定导致a包的版本降低。

此时,B包可以正常使用,但是A包优与依赖的a包版本降低导致无法使用。

解决方法:去找是哪些依赖的版本不匹配了,把他们给匹配好。

      我们举个例子来说:以同时使用  imbalanced_learn  和  statsmodels 库为最终目的。我们该怎么办?

        1、找各自库的官网,官网上会给出安装依赖,找官网是最正确的做法,不要去网上找乱七八糟的说明,基本上都是没用的。

        2、imbalanced_learn官网:百度查找,第二个就是。

附上网址:imbalanced-learn documentation — Version 0.8.1

 

 一般来说官网都是最新的版本的库,显示最新的依赖。

如何查找特定的版本的依赖呢?

方法一:官网上一般都有,看下开源历史就能找到。

方法二:直接去下载指定版本的 .whl文件,更改后缀后解压缩,去文件里面找,都会有明确的注明,比如去查找  0.5.0 版本的 imbalanced_learn。

 

 现在可以总结0.5.0版本的依赖:

Requires-Dist: numpy (>=1.11)
Requires-Dist: scipy (>=0.17)
Requires-Dist: scikit-learn (>=0.21)
Requires-Dist: joblib (>=0.11)

  3、statsmodels官网:百度查找,第一个就是。

 

 同样,我们还去找指定版本的依赖,比如:0.11.0

方法一:官网找API文档。

 

 现在可以总结0.11.0版本的依赖:

Python >= 3.5

NumPy >= 1.14

SciPy >= 1.0

Pandas >= 0.21

Patsy >= 0.5.1

最终将 imbalanced_learn  和  statsmodels 依赖汇总:

Requires-Dist: numpy (>=1.11)
Requires-Dist: scipy (>=0.17)
Requires-Dist: scikit-learn (>=0.21)
Requires-Dist: joblib (>=0.11)
Python >= 3.5
NumPy >= 1.14
SciPy >= 1.0
Pandas >= 0.21
Patsy >= 0.5.1

自己匹配合适的依赖,并确定安装顺序:

Python = 3.6
joblib (>=0.11)
NumPy = 1.14
SciPy = 1.0
Pandas = 0.21
Patsy = 0.5.1
scikit-learn = 0.21
imbalanced_learn = 0.5.0
statsmodels = 0.11.0

最终在虚拟环境中安装测试是否匹配成功:

#创建虚拟环境
conda create -n hjpp python=3.6.0

#激活虚拟环境
activate hjpp

#安装依赖包
pip install numpy==1.14.0
pip install scipy==1.0
pip install pandas==0.21
pip install patsy==0.5.1
pip install scikit-learn==0.21
pip install imbalanced_learn==0.5.0
pip install statsmodels==0.11.0

 

 打开python,验证是否安装成功:

  可以发现,均无报错,可以正常使用。

  以下是整个环境依赖:

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值