django-storages和boto ImproperlyConfigured

时间:2014-07-09 21:37:16

标签: python django amazon-web-services boto

当我的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'

导致此错误的原因是什么,如何修复,谢谢你给予的任何帮助。

1 个答案:

答案 0 :(得分:4)

我遇到了同样的问题而且我不确定为什么这会解决这个问题,但我将boto升级到版本2.31.1并且一切都重新开始了。希望这会有所帮助:

pip install boto --upgrade