如何卸载Databricks集群预装的Datasets Python包?
解决Databricks集群预装datasets包的卸载/阻止安装问题
为什么直接用pip uninstall失败
预装的datasets包位于Databricks系统Python环境目录(/databricks/python3/lib/python3.10/site-packages),而笔记本中执行的pip命令默认操作的是用户级虚拟环境,没有权限修改系统目录,因此会报错。
方案1:运行时覆盖(无需修改集群配置)
如果只是需要替换为指定版本的datasets,可以直接在笔记本中执行以下命令,将目标版本安装到用户环境,Python会优先加载用户环境中的包,从而覆盖系统预装版本:
%pip install datasets==[你需要的版本号]
方案2:集群启动时彻底卸载(推荐)
通过集群初始化脚本以root权限卸载系统预装的datasets包,步骤如下:
- 创建一个Shell脚本(命名为
uninstall_datasets.sh),内容如下:
#!/bin/bash # 强制卸载系统中的datasets包 pip uninstall -y datasets
- 将该脚本上传到DBFS(比如上传到
dbfs:/databricks/scripts/uninstall_datasets.sh) - 创建/编辑集群时,进入「高级选项」→「初始化脚本」,添加上述脚本的DBFS路径,保存后启动集群。集群启动时会自动执行脚本,彻底卸载预装的
datasets包。
方案3:使用自定义Python环境(彻底阻止预装)
如果需要完全控制集群的Python环境,避免预装不必要的包,可以创建自定义conda环境:
- 编写
environment.yml文件,只包含你需要的依赖:
name: custom_env dependencies: - python=3.10 # 添加你需要的其他包,不要包含datasets
- 将文件上传到DBFS,然后在集群配置的「高级选项」→「Spark」中添加以下配置:
spark.databricks.python.defaultEnvName custom_env spark.databricks.python.env.dbfs.path dbfs:/path/to/environment.yml
- 启动集群,此时集群会使用你定义的自定义环境,不会包含预装的
datasets包。
内容的提问来源于stack exchange,提问作者newbie101
相关产品推荐
相关产品推荐

