已安装azure-storage-blob 12.9.0仍无法导入BlobServiceClient
解决Azure Notebooks中无法导入BlobServiceClient的问题
该报错的核心原因是运行环境实际加载的
azure-storage-blob为v2旧版本,旧版本不存在BlobServiceClient类,同时你的代码中还保留了仅v2版本支持的blockblobservice导入语句,也会引发额外报错。
- 第一步:确认当前实际加载的库版本
运行以下代码查看实际生效的版本,验证是否为你安装的12.9.0:
import azure.storage.blob print(azure.storage.blob.__version__)
如果输出为2.x.x版本,就说明是版本冲突导致的问题。
- 第二步:强制安装指定版本并重启内核
在Azure Notebooks中使用%pip魔法命令安装,避免调用到系统全局的pip工具,同时加--user参数覆盖当前用户环境的库版本:
%pip install --upgrade --user azure-storage-blob==12.9.0
安装完成后必须重启Jupyter内核,否则新安装的版本不会生效。
第三步:修正代码中的错误导入语句
删除代码中from azure.storage.blob import blockblobservice这一行,该类仅在v2版本中存在,v12版本已经完全移除该类,相关操作可以直接通过BlobServiceClient等新API实现。第四步:验证导入
重启内核后重新运行导入代码,即可正常导入BlobServiceClient、BlobClient等类:
import os, uuid from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient, __version__ print(__version__)
运行成功会输出12.9.0,说明问题已经解决。
内容的提问来源于stack exchange,提问作者yogesh sasanapuri
相关产品推荐
相关产品推荐

