You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

导入BlockBlobService报错求助:CMD运行失败但Anaconda正常

解决 ImportError: cannot import name 'BlockBlobService' 的问题

首先,咱们先理清楚问题的核心:你在Anaconda Navigator里能正常运行代码,但命令提示符(CMD)里却报错,这几乎可以肯定是两个环境使用的Python解释器或者依赖包版本不一致导致的。结合你给出的依赖包信息(azure-storage-blob==1.1.0),咱们一步步来解决:

1. 确认CMD使用的是Anaconda的Python环境

Anaconda默认会创建独立的虚拟环境,而CMD可能默认调用的是系统自带的Python,或者其他未配置正确的虚拟环境,导致找不到对应版本的包。你可以这么操作:

  • 打开CMD,输入 where python,查看输出的路径。如果路径不是Anaconda安装目录下的python.exe(比如类似 C:\Users\你的用户名\Anaconda3\python.exe),说明当前环境不对。
  • 激活Anaconda的base环境:在CMD里运行 conda activate base(如果你的项目用的是自定义环境,就换成对应的环境名,比如 conda activate 你的环境名)。激活后再运行你的Python项目,看看是否恢复正常。

2. 确保安装的是正确版本的Azure存储包

你用的azure-storage-blob==1.1.0是旧版本,这个版本里确实存在BlockBlobService;但如果CMD环境里装的是azure-storage-blob 12.x及以上的新版本,这个类就被废弃了(替换成了BlobServiceClient)。如果激活环境后还是报错,你可以重新安装指定版本的包:

pip install azure-storage-blob==1.1.0 azure-storage-common==1.1.0

注意:不要同时安装azure-storage(旧的整合式包)和拆分后的azure-storage-blob,两者可能会有冲突导致导入失败。

3. 排查导入路径(如果以上步骤都无效)

如果还是有问题,咱们可以验证两个环境的包路径是否一致:

  • 在Anaconda Navigator的Python环境里运行以下代码:
    import azure.storage.blob
    print(azure.storage.blob.__file__)
    
    记下输出的文件路径。
  • 然后在CMD里激活Anaconda环境后,运行同样的代码,对比两个路径是否相同。如果不同,说明CMD环境里的azure包还是来自其他位置,你需要调整系统环境变量,把Anaconda的Python路径移到最前面。

简单来说,问题的本质就是环境不匹配——Anaconda里的包是正确的,但CMD没用到这个环境,导致找不到正确的BlockBlobService类。按照上面的步骤排查,应该能解决问题。

内容的提问来源于stack exchange,提问作者syrine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:47:20