2015-10-26 126 views
0

我已经安装了Python的azure SDK(pip install azure)。 我已将ML网络服务的MS Azure机器学习批量修补程序中的Python代码复制到Anaconda Notebook中。 我已经用脚本注释中指出的实际值替换了脚本中的所有占位符。 当我运行该脚本,我得到的错误:在脚本行 “blob_service = BlobService(ACCOUNT_NAME = storage_account_name,account_key = storage_account_key)”: “NameError全局名称 'BlobService' 没有定义”。 由于azure.storage import *的“”行在脚本的开始处不会生成错误,因此我不清楚该问题是什么,也不知道如何解决该问题。任何人都可以指出我应该改正什么?如何解决'BlobService'未定义'错误

回答

0

从我做任何Python开始已经很长时间了,但BlobStorage存在于我相信的azure.storage.blob命名空间中。

所以我不认为你的from azure.storage import *是拉动它。

如果你有一本书,显示否则它可能只是过时的代码示例。

+0

James,我刚刚开始学习Python的基础知识,所以我不知道该怎么做,给你的评论。我来自SQL背景,所以命名空间对我来说很陌生。你能更具体地说明我应该采取的行动吗? –

1

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

+1

嗨,我建议查看Python的Azure SDK文档http://azure-storage.readthedocs.org/en/latest/。最好的祝福。 –

2

做工精细,

在CentOS的和Windows我写的:

from azure.storage.blob import BlobService 

但是在MacOS上十一写:

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 

更新18/02/2016:

今天,今天我做了一个更新的命令

pip freeze --local | grep -v '^-e' | cut -d = -f 1 | xargs -n1 pip install -U

,然后,蔚蓝坠毁。然后,我在“https://pypi.python.org/pypi/azure/1.0.3”这个阅读:

Upgrading from azure<1.0 is not supported. You must uninstall the old version first.

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 

现在工作得很好

0

BlobService是你试图调用功能,但它不被任何定义。当您致电from azure.storage import *时应该定义它。由于软件包版本的差异,它可能不会被调用。

调用from azure.storage.blob import *应该正常工作,因为它现在调用正确。

相关问题