ImportError: 在执行 syncdb 时找不到 azure.storage.blob 模块。
ImportError: 在执行 syncdb 时找不到 azure.storage.blob 模块。
最近我在一台全新的机器上克隆了一个Django项目,并开始设置它的依赖项。其中一个依赖项是azure storages,我按照这里的建议进行了操作,只是简单地运行了“sudo pip install azure”命令。\n然而,在“python manage.py syncdb”时,我一直遇到以下错误:\n
\nImportError: No module named azure.storage.blob\n
\n我也尝试过仅运行“sudo pip install azure-storage”,但这并没有解决我的问题。这本不应该成为一个问题。我该怎么办?
在使用Ubuntu 16.04TLS和Python 3.5的过程中,出现了"ImportError: No module named azure.storage.blob (when doing syncdb)"的错误。经过一些尝试后,找到了解决方法。
首先,通过以下命令卸载与Azure相关的Python包:
sudo pip3 uninstall -y $(pip3 freeze | grep azure)
然后,删除用户目录下的Azure相关文件:
sudo rm /home/YOUR_ACCOUNT/.local/python3.5/site-packages/azu* -r
接下来,升级requests库:
sudo pip3 install --upgrade requests
最后,安装azure-storage-blob库:
sudo pip3 install azure-storage-blob
通过以上步骤,可以解决"ImportError: No module named azure.storage.blob (when doing syncdb)"的问题。
在进行syncdb操作时出现了"ImportError: No module named azure.storage.blob"的错误,这个问题的原因是因为azure storage client library for python的版本问题。旧版本只有一个blobservice.py文件,而最新版本将其分为三个文件,分别是blockblobservice.py、pageblobservice.py和appendblobservice.py。因此,如果要使用BlockBlobService,可以安装azure-storage 0.33.0版本。
以下是安装azure-storage 0.33.0的步骤:
首先,通过pip命令检查当前版本:
#pip freeze
如果看到azure==0.11.0(或任何低于1.0的版本),请先卸载它:
#pip uninstall azure
然后安装azure-storage 0.33.0:
#pip install --upgrade azure-storage
可能会遇到有关cryptography的错误,可以运行以下命令解决:
#yum install gcc libffi-devel python-devel openssl-devel #pip install cryptography
参考链接:
[https://pypi.python.org/pypi/azure-storage](https://pypi.python.org/pypi/azure-storage)
[https://stackoverflow.com/questions/22073516](https://stackoverflow.com/questions/22073516)
希望对您有所帮助。如果还有其他问题,请随时告诉我。