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

使用AzureBlobFileSystem访问Azure Blob Storage遇导入错误

解决adlfs库导入AzureBlobFileSystem时的循环导入错误

我尝试在Python中使用adlfs库的AzureBlobFileSystem将Azure Blob Storage作为文件系统访问,但遇到了导入错误。

已执行的安装操作

安装依赖的命令:

pip install azure-storage-blob adlfs

使用的代码

import fsspec
from adlfs import AzureBlobFileSystem
abfs = AzureBlobFileSystem(account_name=account_name,account_key="")

遇到的错误

运行代码时抛出以下错误:

from adlfs import AzureBlobFileSystem
ImportError: cannot import name 'AzureBlobFileSystem' from partially initialized module 'adlfs' (most likely due to a circular import)

已尝试的排查步骤

  • 确认存储账户名称和密钥正确
  • 确保azure-storage-blob和adlfs已安装并为最新版本
  • 检查网络连接,确认可访问存储账户

环境详情

  • 编辑器:Mac OS上的VS code
  • Python版本:3.13.0
  • adlfs版本:2024.7.0
  • azure-storage-blob版本:12.23.1

解决建议

  1. 检查脚本文件名:如果你的脚本文件名为adlfs.py,会和库名冲突导致循环导入。立即重命名脚本(比如azure_blob_test.py),同时删除同目录下的adlfs.pyc或__pycache__文件夹。
  2. 改用fsspec间接初始化:绕过直接导入的方式,用fsspec的接口创建文件系统实例:
    import fsspec
    abfs = fsspec.filesystem('az', account_name=account_name, account_key="")
    
  3. 降级Python版本:Python 3.13属于较新的版本,可能和当前adlfs版本存在兼容性问题。尝试降级到Python 3.12.x,重新安装依赖后测试。
  4. 创建隔离虚拟环境:当前环境可能存在依赖冲突,创建全新虚拟环境隔离依赖:
    python -m venv azure_env
    source azure_env/bin/activate  # MacOS/Linux系统执行
    pip install azure-storage-blob adlfs
    
    在虚拟环境中运行脚本验证是否解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 08:55:01