如何修复'BlobService'未定义'错误

时间:2015-10-26 19:25:00

标签: python azure

我已经安装了用于Python的天蓝色SDK(pip install azure)。 我已将ML Web服务的MS Azure机器学习批处理补丁上的Python代码复制到Anaconda笔记本中。 我已经用脚本注释中指出的实际值替换了脚本中的所有占位符。 当我运行脚本时,我收到错误:“ NameError:全局名称'BlobService'未定义”在脚本行“ blob_service = BlobService(account_name = storage_account_name,account_key = storage_account_key)< / EM>”。 由于脚本开头的“ from azure.storage import * ”行没有生成错误,我不清楚问题是什么,也不知道如何修复它。谁能指出我应该纠正的事情呢?

4 个答案:

答案 0 :(得分:2)

要正常工作,

在CentOS和Windows中我写道:

from azure.storage.blob import BlobService

但在MacOS X中我写道:

from azure.storage import BlobService

然后我写下这个:

from sys import platform as _platform
if _platform == "linux" or _platform == "linux2":   # linux
    from azure.storage.blob import BlobService
elif _platform == "darwin": # OS X
    from azure.storage import BlobService
elif _platform == "win32":  # Windows...
    from azure.storage.blob import BlobService

更新2016年2月18日:

今天我用命令

进行了更新
  

pip freeze --local | grep -v'^ -e'| cut -d = -f 1 | xargs -n1点子   安装-U

然后,天蓝色坠毁了。然后,我在'https://pypi.python.org/pypi/azure/1.0.3'中读到了这个:

  

不支持从azure&lt; 1.0升级。你必须卸载旧的   版本第一。

pip uninstall azure -y
pip uninstall azure-mgmt -y
pip uninstall azure-mgmt-compute -y
pip uninstall azure-mgmt-network -y
pip uninstall azure-mgmt-resource -y
pip uninstall azure-mgmt-storage -y
pip uninstall azure-mgmt-common -y
pip uninstall azure-mgmt-nspkg -y
pip uninstall azure-servicebus -y
pip uninstall azure-storage -y
pip uninstall azure-common -y
pip uninstall azure-nspkg -y
pip install azure

现在工作正常

答案 1 :(得分:1)

詹姆斯,我明白了。我刚刚从azure.storage import *更改为azure.storage.blob import *,它似乎正在工作。

答案 2 :(得分:0)

自从我做了任何Python以来已经有很长一段时间了,但是我相信BlobStorage在azure.storage.blob命名空间中。

所以我认为你的from azure.storage import *并没有把它拉进来。

如果你在一本书中有一个代码示例,否则它可能会过时。

答案 3 :(得分:0)

BlobService是您尝试调用的函数,但它没有在任何地方定义。应该在致电from azure.storage import *时定义。由于包版本的不同,它可能没有被调用。

调用from azure.storage.blob import *应该有效,因为它现在可以正确调用。