【发布时间】:2019-03-09 17:03:00
【问题描述】:
我对使用 microsoft azure 服务并尝试遵循https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-python 在 Windows PC 上的 conda 4.5.11 发行版中使用 Python 3.5.6 中的教程非常陌生。
我在导入 azure 时遇到的第一个问题是我无法以通常的方式看到版本。这意味着
azure.__version__
给出一个错误。
然后,这行代码给了我一个错误,说它既不能导入名称 BlockBlobService,也不能导入 PublicAccess。似乎两者都已被弃用,或者我自己正在使用一些旧版本。
from azure.storage.blob import BlockBlobService, PublicAccess #Option 1
但是,以下导入正在运行。
from azure.storage.blob import BlobService #Option 2
但是这个问题是在我创建一个本地文件并尝试使用create_blob_from_path 方法上传之后(如教程中所建议的那样),该方法不存在或已弃用。
我在网络上查看了此 BlockBlobService 问题的解决方案,似乎一直对正确的模块层次结构和要导入的类名感到困惑。例如,一位用户从库中获得了一些官方文档,该文档对此提出了建议,但这也不起作用。
from azure.storage import BlobService #Option 3
还有其他人对此报告了一些投诉,至少在我的系统上运行。但这不会导入所需的 Blob 对象。
import azure.storage.blob #Option 4
BlockBlobService 类位于azure.storage.blob.blockblobservice 模块中。但是当我尝试导入时,解释器也会抛出导入错误。
大多数提议的解决方案都围绕着一些版本的升级/降级,但是,愚蠢的我,不知何故,我什至无法像其他模块那样找到 azure 模块的版本。此外,似乎许多解决方案都适用于在 Linux 上运行的 pip3,因此我在 Windows 上使用 conda 4.5.11。那么如何让 azure API 工作呢?
【问题讨论】:
标签: python-3.x azure azure-storage azure-blob-storage conda