当我尝试在我的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
注意:如果您需要,请询问更多信息
答案 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
& 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包名称为python3
和python3-pip
,您可以在Ubuntu上使用sudo pip3 install azure
作为Python 3.4
。< / p>
如有任何疑虑,请随时告诉我。