2015-12-21 69 views
0

当我尝试做python manage.py syncdb在我的Django应用程序命名azure.storage.blob,我得到的错误导入错误:没有模块名为azure.storage.blob。但问题是,如果一个人做pip freeze以下软件包安装:获取导入错误:没有模块做蟒蛇manage.py执行syncdb

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的存储安装,因为是显而易见的。为什么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

有跟你类似的线程,请检查我的回答对螺纹Unable to use azure SDK in Python

根据我的经验,Python从某些库路径导入第三方库包,您可以通过代码import sys & sys.path在python解释器中检查它们。因此,您可以尝试动态地将包含已安装的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 & sudo apt-get install python python-pip重新安装Python 2.7 & pip 2.7(注:目前主要的Linux发行版使用Python 2.7作为系统默认版本)。

如果Python的3.4为你的运行Django的,在apt Ubuntu的软件包名称分别为python3python3-pip,您可以在Ubuntu上使用sudo pip3 install azure获取Python 3.4

任何问题,请随时让我知道。

+0

嗨,彼得,我在Python2.7。两种方法都不起作用。我添加了'import sys'和'sys.path.append('')'到我的python代码中,重新启动gunicorn并重新运行syncdb。我得到和以前完全一样的错误。接下来,我运行了'sudo apt-get remove python python-pip''sudo apt-get update'和'sudo apt-get install python python-pip'。在此之后,我再次运行'syncdb' - 我仍然遇到同样的错误。悲剧是,在其他两个环境(包括本地)中,来自azure.storage.blob导入BlobService的代码从未给我带来麻烦。但是现在,我一直跑进'没有名为azure.storage.blob的模块。 –

相关问题