Azure CLI alias扩展加载失败:无法从markupsafe导入soft_unicode
解决Azure CLI alias扩展加载失败问题
问题原因
错误提示cannot import name 'soft_unicode' from 'markupsafe'是因为alias扩展依赖的markupsafe库版本与Azure CLI环境不兼容:soft_unicode在markupsafe 2.0+版本中被移除,替换为soft_str,而alias 0.5.2版本仍在使用旧API。
解决方案
方法1:降级markupsafe到兼容版本
- 进入alias扩展的安装目录:
cd /home/anyuser/.azure/cliextensions/alias - 安装兼容的markupsafe版本(如2.0.1):
pip install markupsafe==2.0.1 --target=.
方法2:修改代码兼容新API
- 打开报错的markupsafe初始化文件:
vi /home/anyuser/.azure/cliextensions/alias/markupsafe/__init__.py - 在文件开头添加以下代码,为
soft_unicode添加别名指向soft_str:try: from markupsafe._compat import soft_str as soft_unicode except ImportError: pass - 保存文件后重新尝试使用alias命令。
方法3:更新alias扩展到最新版本
- 先卸载旧版本扩展:
az extension remove --name alias - 重新安装最新版alias扩展:
若官方已更新扩展修复依赖问题,此方法最简便。az extension add --name alias
验证
执行以下命令测试扩展是否正常加载:
az alias list
内容的提问来源于stack exchange,提问作者Kai Walter
相关产品推荐
相关产品推荐

