如何在Databricks集群中安装指定版本numpy解决umap依赖冲突
Databricks环境numpy版本冲突解决方案
- 方案1:Notebook作用域安装(优先选择,无需修改集群配置)
Databricks提供的%pip魔法命令会将库安装到当前Notebook的独立执行环境,优先级高于集群预安装的全局库。按顺序执行以下代码:- 安装指定版本依赖:
%pip install numpy==1.19.2 umap-learn hdbscan- 重启当前Notebook的Python内核使配置生效:
内核重启后重新导入numpy即可验证版本为1.19.2。dbutils.library.restartPython() - 方案2:集群初始化脚本批量安装(适用于全集群所有任务都需要对应版本的场景)
之前直接执行pip命令不生效是因为调用了系统默认pip路径,未指向Databricks运行时实际使用的Python环境,通过初始化脚本可统一配置所有节点的依赖:- 编写初始化脚本内容如下:
#!/bin/bash /databricks/python/bin/pip install --force-reinstall numpy==1.19.2- 将脚本上传到DBFS路径,例如
dbfs:/databricks/scripts/fix-numpy.sh - 进入集群配置页,打开「高级选项」-「初始化脚本」,添加上述DBFS路径后重启集群即可全局生效。
- 方案3:虚拟环境完全隔离(适用于依赖差异极大的场景)
若需要完全独立的运行环境,可在节点上创建独立虚拟环境:
执行完成后在Notebook右上角切换内核为%sh # 创建虚拟环境 virtualenv -p python3 /tmp/umap-env # 激活环境并安装依赖 source /tmp/umap-env/bin/activate pip install numpy==1.19.2 umap-learn hdbscan ipykernel # 注册内核到Notebook ipython kernel install --user --name=umap-envumap-env即可使用。
内容的提问来源于stack exchange,提问作者Subbu VidyaSekar
相关产品推荐
相关产品推荐

