在Google Colab安装pyclustertend遇依赖冲突及导入失败求助
解决pyclustertend在Google Colab中的导入错误
问题根源
安装pyclustertend时,pip自动安装了numba==0.54.1和numpy==1.20.3,但:
numba==0.54.1的版本判断逻辑存在问题,将numpy==1.20.3判定为高于1.20,触发导入错误- Colab预装的
tensorflow、jax等库要求numpy>=1.21,与numpy==1.20.3产生依赖冲突
解决方案
方案一:升级依赖以兼容Colab环境
执行以下命令,安装支持更高numpy版本的numba,同时升级numpy满足预装库要求:
!pip install pyclustertend numba>=0.55 numpy>=1.21 --upgrade
numba>=0.55开始支持numpy>=1.21,此命令可同时解决pyclustertend的导入问题和原有依赖冲突。
方案二:指定兼容版本组合
如果方案一出现异常,可使用经过验证的版本组合:
!pip install pyclustertend==1.8.2 numba==0.55.1 numpy==1.21.6
该组合既能满足pyclustertend的依赖需求,也能适配Colab多数预装库的版本要求。
方案三:临时修改numba版本判断(应急用,不推荐)
若不想调整依赖版本,可临时修改numba的版本校验逻辑:
- 查找numba的初始化文件路径:
!find /usr/local/lib/python3.9/dist-packages -name "__init__.py" | grep numba
- 编辑找到的文件,将以下代码:
elif numpy_version > (1, 20): raise ImportError("Numba needs NumPy 1.20 or less")
修改为:
elif numpy_version > (1, 20, 99): raise ImportError("Numba needs NumPy 1.20 or less")
注意:此修改在Colab会话重启后会失效,仅适合临时应急场景。
内容的提问来源于stack exchange,提问作者ALB_BUV
相关产品推荐
相关产品推荐

