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

Python3.10导入SecretClient遇循环导入类ImportError问题求助

解决Azure Key Vault SecretClient导入循环错误的思路

问题描述

执行导入语句:

from azure.keyvault.secrets import SecretClient

抛出错误:

from azure.keyvault.secrets import SecretClient
ImportError: cannot import name 'SecretClient' from partially initialized module 'azure.keyvault.secrets' (most likely due to a circular import) (C:\Users\myself\AppData\Local\Programs\Python\Python310\lib\site-packages\azure\keyvault\secrets\__init__.py)

代码未做修改,库通过pip install azure-keyvault安装,已尝试卸载重装但问题依旧。


解决思路

  • 排查本地同名文件冲突
    检查项目目录下是否存在azure.py、keyvault.py或secrets.py这类文件,它们会和官方库的模块名冲突,导致Python优先导入本地文件而非site-packages中的官方库,进而引发循环导入。如果存在,直接重命名这类文件。

  • 更换为官方推荐的独立包
    azure-keyvault是旧版聚合包,当前Azure SDK推荐使用独立的azure-keyvault-secrets包。卸载现有相关包后重新安装稳定版本:

    pip uninstall -y azure-keyvault azure-keyvault-secrets
    pip install azure-keyvault-secrets==4.7.0  # 选择兼容Python3.10的稳定版本
    

    新版本的导入方式不变,但依赖的基础库版本更兼容,可避免循环导入问题。

  • 清理残留文件与缓存
    卸载包后,手动删除site-packages中的Azure相关残留目录:
    前往C:\Users\myself\AppData\Local\Programs\Python\Python310\lib\site-packages,删除所有以azure开头的文件夹(如azure、azure_keyvault、azure_keyvault_secrets等),之后再重新安装官方推荐的包。

  • 确认运行环境一致性
    检查当前代码运行的Python环境是否与安装包的环境匹配:通过where python(Windows)查看当前Python路径,对比pip --version显示的Python路径,确保环境统一。如果使用虚拟环境,重新激活后再执行安装操作。

  • 修复依赖版本冲突
    查看当前环境的Azure相关依赖版本:

    pip list | findstr azure
    

    若存在多个版本的azure-core、azure-common等基础库,可能引发冲突。尝试强制更新这些基础库:

    pip install --upgrade azure-core azure-common
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 14:15:41