获取ImportError:执行python manage.py syncdb时没有名为azure.storage.blob的模块

时间:2015-12-21 23:10:54

标签: python django azure azure-storage-blobs

当我尝试在我的Django应用程序中执行python manage.py syncdb时,出现错误 ImportError:没有名为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

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

2 个答案:

答案 0 :(得分:2)

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

基本上,在尝试!important之前尝试pip install azure==0.11.1,我相信它会对你有用!

答案 1 :(得分:0)

有一个与你类似的主题,请查看我的回答Unable to use azure SDK in Python

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

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

如果Python 3.4作为Django的运行时,Ubuntu的apt包名称为python3python3-pip,您可以在Ubuntu上使用sudo pip3 install azure作为Python 3.4。< / p>

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