Python 2.7环境Linux/Ubuntu导入Azure Blob Storage包报错求助
问题根因
ImportError: No module named parse报错的核心原因是Linux环境安装的azure-storage-blob版本过高,已经不兼容Python 2.7:- 高版本的Azure Blob Storage SDK仅支持Python 3.6+,内部依赖Python3标准库的
urllib.parse模块,而Python2.7中对应的模块是urlparse,不存在parse模块因此触发报错 - Windows环境运行正常,是因为之前安装的是适配Python2.7的旧版本SDK,两个环境的SDK版本不一致导致运行差异
- 高版本的Azure Blob Storage SDK仅支持Python 3.6+,内部依赖Python3标准库的
可行解决方案
方案1(推荐):升级Python版本
如果业务允许调整运行环境,直接将Python版本升级到3.7及以上,重新安装最新版azure-storage-blob即可,命令如下:
pip uninstall -y azure-storage-blob pip install azure-storage-blob
方案2(适配Python2.7):安装兼容的旧版SDK
如果必须保留Python2.7运行环境,卸载现有高版本SDK,安装官方最后一个支持Python2.7的azure-storage-blob版本即可:
pip uninstall -y azure-storage-blob pip install azure-storage-blob==1.5.0
注意:旧版本SDK部分API和高版本有差异,你现有代码已经在Windows环境跑通,说明代码本身就是适配v1.x版本API的,直接安装后无需调整代码即可正常运行
内容的提问来源于stack exchange,提问作者Ishan Razdan
相关产品推荐
相关产品推荐

