【问题标题】:Getting ImportError: No module named azure.storage.blob when doing python manage.py syncdb获取 ImportError:在执行 python manage.py syncdb 时没有名为 azure.storage.blob 的模块
【发布时间】:2016-03-28 03:11:21
【问题描述】:

当我尝试在我的 Django 应用程序中执行 python manage.py syncdb 时,我收到错误 ImportError: No module named azure.storage.blob。但问题是,如果有pip freeze,则会安装以下软件包:

azure-common==1.0.0 azure-mgmt==0.20.1 azure-mgmt-common==0.20.0 azure-mgmt-compute==0.20.0 azure-mgmt-network==0.20.1 azure-mgmt-nspkg==1.0.0 azure-mgmt-resource==0.20.1 azure-mgmt-storage==0.20.0 azure-nspkg==1.0.0 azure-servicebus==0.20.1 azure-servicemanagement-legacy==0.20.1 azure-storage==0.20.3

显然 azure-storage 已安装,这一点很明显。为什么 azure.storage.blob 无法导入?我什至进入了我的.virtualenvs 目录,并一路进入azure.storage.blob(即~/.virtualenvs/myvirtualenv/local/lib/python2.7/site-packages/azure/storage/blob$)。它存在!

我该怎么办?这里的答案没有帮助:Install Azure Python api on linux: importError: No module named storage.blob

注意:如果需要,请询问更多信息

【问题讨论】:

    标签: python django azure azure-blob-storage


    【解决方案1】:

    我遇到了类似的问题。为了缓解这种情况,我在这里关注了这个讨论:https://github.com/Azure/azure-storage-python/issues/51#issuecomment-148151993

    基本上,在尝试syncdb 之前先尝试pip install azure==0.11.1,我相信它会为您工作!

    【讨论】:

      【解决方案2】:

      有一个和你类似的帖子,请查看我对帖子Unable to use azure SDK in Python的回答。

      根据我的经验,Python 从一些库路径中导入第三方库包,您可以在 Python 解释器中通过代码 import syssys.path 检查它们。因此,您可以尝试在 Python 运行时将包含已安装的azure 包的新路径动态添加到sys.path 中以解决该问题。要添加新的库路径,您只需在代码前面编码sys.path.append('<the new paths you want to add>'),如import azure

      如果方法没有帮助,我建议你可以尝试重新安装Python环境。在 Ubuntu 上,可以使用命令sudo apt-get remove python python-pip & sudo apt-get install python python-pip 重新安装Python 2.7 & pip 2.7。(注意:当前主要的Linux发行版使用Python 2.7作为系统默认版本。)

      如果 Python 3.4 作为 Django 的运行时,则 Ubuntu 的 apt 包名称为 python3python3-pip,您可以在 Ubuntu 上将 sudo pip3 install azure 用于 Python 3.4

      如有任何疑问,请随时告诉我。

      【讨论】:

      • 嗨彼得,我在 Python2.7 上。两种方法都不起作用。我将import syssys.path.append('<path here>') 添加到我的python 代码中,重新启动gunicorn 并重新运行syncdb。我得到了与以前完全相同的错误。接下来,我运行 sudo apt-get remove python python-pip sudo apt-get updatesudo apt-get install python python-pip。在此之后,我再次运行syncdb - 我仍然得到同样的错误。悲剧的是,在其他 2 个环境(都是本地环境)中,代码 from azure.storage.blob import BlobService 从来没有给我带来麻烦。但现在,我不断遇到No module named azure.storage.blob
      猜你喜欢
      • 2017-01-15
      • 2018-11-01
      • 2017-07-01
      • 1970-01-01
      • 2015-08-04
      • 2018-01-18
      • 2013-10-14
      • 1970-01-01
      相关资源
      最近更新 更多