使用微软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.__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起作用呢?
答案 0 :(得分:0)
在Windows上,您应该使用pip install azure
。
我的环境是带有python 3.6.5的Windows 10,但是我没有使用conda。
首先,在cmd中运行pip install azure
,屏幕截图如下:
然后在pycharm中,尝试使用from xxx import xx
,屏幕截图如下:
答案 1 :(得分:0)
截至2020年11月,Azure维护两个版本的存储SDK:
2.1被认为是API的旧版本(Link):
此快速入门使用旧版本的Azure Blob存储客户端库。要开始使用最新版本,请参阅快速入门:使用Python v12 SDK管理blob。
BlockBlobService
位于v2.1中,应避免使用。