ImportError:没有名为 azure.storage.blob 的模块(执行 syncdb 时)
Posted
技术标签:
【中文标题】ImportError:没有名为 azure.storage.blob 的模块(执行 syncdb 时)【英文标题】:ImportError: No module named azure.storage.blob (when doing syncdb) 【发布时间】:2017-01-15 23:04:47 【问题描述】:我最近在一台全新的机器上克隆了我的一个 Django 项目,并着手设置它的依赖项。其中一个依赖项是 azure storages,为此我遵循了 here 的建议并简单地执行了 sudo pip install azure
。
但是,在执行“python manage.py syncdb”时,我不断收到错误消息:
ImportError:没有名为 azure.storage.blob 的模块
我也尝试过只做sudo pip install azure-storage
,但这也不能缓解我的问题。这不应该是这个问题。我该怎么办?
【问题讨论】:
你试过这个答案***.com/questions/35558463/… 吗? 我们有这些:azure-storage-file-datalake、azure-storage-blob、azure-storage-file-queue 【参考方案1】:在我的情况下,我使用该语句的文件
from azure.storage.blob import BlobServiceClient
位于 azure 文件夹内,文件名也是 azure.py。
重命名文件夹和文件后,它工作了。
【讨论】:
谢谢!这正是我的问题!【参考方案2】:Ubuntu 16.04TLS + Python 3.5 没有什么对我有用,但是经过一些摆弄......
sudo pip3 uninstall -y $(pip3 freeze | grep azure)
sudo rm /home/YOUR_ACCOUNT/.local/python3.5/site-packages/azu* -r
sudo pip3 install --upgrade requests
sudo pip3 install azure-storage-blob
【讨论】:
【参考方案3】:据我所知,这个问题是由于python的azure存储客户端库的版本。旧版本只有一个blobservice.py文件和 最新的将其拆分为三个文件,例如 blockblobservice.py、pageblobservice.py 和 appendblobservice.py。所以,如果你想使用 BlockBlobService,你可以安装 azure-storage 0.33.0。
以下步骤可帮助您安装 azure-storage 0.33.0。
1.您可以使用pip检查版本:
#pip freeze
2.如果看到azure==0.11.0(或1.0以下的任何版本),请先卸载:
#pip uninstall azure
3.安装azure-storage 0.33.0
#pip install --upgrade azure-storage
您可能会遇到一些关于密码学的错误,您可以运行以下命令来解决它。
#yum install gcc libffi-devel python-devel openssl-devel
#pip install cryptography
参考文献:
https://pypi.python.org/pypi/azure-storage
Failed to install Python Cryptography package with PIP and setup.py
希望对您有所帮助。有任何问题,请随时告诉我。
【讨论】:
以上是关于ImportError:没有名为 azure.storage.blob 的模块(执行 syncdb 时)的主要内容,如果未能解决你的问题,请参考以下文章
ImportError:没有名为 websocket 的模块
ImportError:没有名为“backports”的模块