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:没有名为枚举的模块

ImportError:没有名为“appdirs”的模块

ImportError:没有名为 websocket 的模块

ImportError:没有名为“backports”的模块

ImportError:没有名为 ghostscript 的模块

ImportError:运行火花时没有名为请求的模块