【问题标题】:How do I fix the 'BlobService' is not defined' error如何修复“未定义 BlobService”错误
【发布时间】:2017-02-24 17:54:30
【问题描述】:

我已经安装了适用于 Python 的 azure SDK(pip install azure)。 我已将用于 ML Web 服务的 MS Azure 机器学习批处理补丁上的 Python 代码复制到 Anaconda Notebook 中。 我已将脚本中的所有占位符替换为脚本 cmets 中所述的实际值。 当我运行脚本时,我在脚本行“blob_service = BlobService(account_name=storage_account_name, account_key=storage_account_key)NameError: global name 'BlobService' is not defined /em>”。 由于脚本开头的“from azure.storage import *”行不会产生错误,因此我不清楚问题出在哪里,也不知道如何解决。谁能指出我应该纠正什么?

【问题讨论】:

    标签: python azure


    【解决方案1】:

    为了正常工作,

    我在 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 日更新:

    今天我用命令做了一个更新

    点冻结--local | grep -v '^-e' |切-d = -f 1 | xargs -n1 点子 安装-U

    ,然后,azure就崩溃了。然后,我在“https://pypi.python.org/pypi/azure/1.0.3”中读到:

    不支持从 azure

    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
    

    现在工作正常

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      【解决方案3】:

      我已经很久没有编写任何 Python 了,但我相信 BlobStorage 位于 azure.storage.blob 命名空间中。

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

      如果您在一本书中有一个代码示例,否则它可能已经过时了。

      【讨论】:

      • James,我刚刚开始学习 Python 的基础知识,所以我不知道该怎么做,鉴于您的评论。我来自 SQL 背景,所以命名空间对我来说相当陌生。你能更具体地说明我应该采取的行动吗?
      【解决方案4】:

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

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

      【讨论】:

        猜你喜欢
        • 2017-02-25
        • 1970-01-01
        • 2015-04-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多