如何解决pandas-profiling与scikit-learn的joblib依赖冲突
解决pandas-profiling与joblib、scikit-learn的依赖冲突问题
方法1:升级pandas-profiling到兼容高版本joblib的版本
pandas-profiling 3.2.0属于旧版本,对joblib的版本限制严格。后续推出的4.x及以上版本已经放宽了joblib的依赖要求,能够适配joblib>=1.2.0的版本,完美兼容scikit-learn 1.5.1。执行以下命令安装最新稳定版:
pip install --upgrade pandas-profiling
安装完成后,可通过以下命令验证依赖兼容性:
pip check
方法2:使用虚拟环境隔离依赖(推荐)
全局Python环境的依赖冲突很难彻底根治,使用虚拟环境可以为pandas-profiling单独搭建一个干净的依赖环境,完全避免和其他项目的依赖冲突:
- 创建并激活虚拟环境(以Python自带的venv为例):
# 创建名为pandas-prof-env的虚拟环境 python -m venv pandas-prof-env # Windows系统激活环境 pandas-prof-env\Scripts\activate # Linux/Mac系统激活环境 source pandas-prof-env/bin/activate - 环境激活后,直接安装pandas-profiling,pip会自动拉取所有兼容的依赖版本:
pip install pandas-profiling
方法3:降级scikit-learn到兼容joblib 1.1.0的版本
如果业务需求必须使用pandas-profiling 3.2.0,可以降级scikit-learn到支持joblib 1.1.0的版本(比如scikit-learn 1.0.x系列),执行以下命令安装兼容组合:
pip install scikit-learn==1.0.2 joblib==1.1.1 pandas-profiling==3.2.0
该版本组合经过测试,可彻底解决依赖冲突问题。
内容的提问来源于stack exchange,提问作者Bishal Giri
相关产品推荐
相关产品推荐

