当我的django支持的网站尝试上传文件时,我收到此错误:
ImproperlyConfigured at /~~~
Could not load Boto's S3 bindings.
See https://github.com/boto/boto
我调查过并发现行from boto import __version__ as boto_version
失败了。删除周围的try-catch语句会出现此错误:
Error importing module storages.backends.s3boto: "cannot import name __version__"
这通常表示循环导入,但我似乎找不到。使用django shell(使用:python manage.py shell
调用),我可以像人们期望的那样导入和操作boto和S3BotoStorage。我无法在页面呈现之外重新创建此错误。
我将最新版本的boto和django-storage存储添加到INSTALLED_APPS。
$ pip show boto django-storages
---
Name: boto
Version: 2.30.0
...
---
Name: django-storages
Version: 1.1.8
...
$ python manage.py shell
>>> import boto
>>> boto.__version__
'2.30.0'
>>> from storages.backends.s3boto import S3BotoStorage
>>> b = S3BotoStorage()
>>> b.get_available_name('foo')
'foo'
$ cat settings.py | grep 'storages'
INSTALLED_APPS += ('storages',)
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
导致此错误的原因是什么,如何修复,谢谢你给予的任何帮助。
答案 0 :(得分:4)
我遇到了同样的问题而且我不确定为什么这会解决这个问题,但我将boto升级到版本2.31.1并且一切都重新开始了。希望这会有所帮助:
pip install boto --upgrade