Django存储:导入错误 - 没有名为存储的模块

时间:2014-04-21 22:34:39

标签: django amazon-s3 boto django-storage

我正在尝试使用Django的存储后端(适用于BotoS3)

settings.py:

INSTALLED_APPS = (
...
'storages',
...
)

http://django-storages.readthedocs.org/en/latest/index.html所示。

和,requirements.txt:

django-storages==1.1.8

但我得到了错误:

django.core.exceptions.ImproperlyConfigured: ImportError storages: No module named storages

我做错了什么?

8 个答案:

答案 0 :(得分:10)

你有可能在virtualenv中将virtualenv之外的软件包安装到默认的python安装中。确保你没有这样做。

答案 1 :(得分:8)

即使在'storages'中包含INSTALLLED_APPS,在django-storages中包含requirements.txt,也遇到此错误,请检查STATICFILES_STORAGE变量。

对于django-storages的先前版本,应将其设置为:

STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'

对于django-storages的较新版本,程序包使用boto3而不是boto,并且此变量应设置为:

STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

如果您使用的是任何一个版本,并且您的DEFAULT_FILE_STORAGE设置配置不正确,则会收到导入错误。

可以在django-storages docs

中找到正确的设置

答案 2 :(得分:2)

我已经在虚拟环境中安装了它,并且运行完全相同的问题。我的问题是我忘了更新我的requirements.txt。所以让你更新那个文件!

答案 3 :(得分:2)

我遇到了同样的问题。 在我的情况下,我用

解决了这个问题
pip install django-storages

Collecting django-storages
  Downloading django_storages-1.6.5-py2.py3-none-any.whl (47kB)
    100% |################################| 51kB 358kB/s
Installing collected packages: django-storages
Successfully installed django-storages-1.6.5

它是在我的虚拟环境中执行的。

答案 4 :(得分:1)

如果您使用的是Pipenv,请确保使用

安装django-storage
  

pipenv安装django-storages

以便更新Pipfile和Pipfile.lock。

我在virtualenv中安装了pip,并且requirements.txt已更新,但仍然收到此错误。挖掘后我注意到它没有添加到Pipfile中。我运行安装程序,它清除了错误。

答案 5 :(得分:1)

我正在使用虚拟环境,并安装了django-storage以及boto3。但是我仍然遇到这些错误。

最初,我使用此命令安装了软件包

pip install django-storages, boto3

此命令解决了我的问题

pip install -U django-storages
pip install -U boto3
  • 它将更新软件包

答案 6 :(得分:0)

我安装了: pip install -U django-storages

如果转到venv/lib/python3.8/site-packages/storages/backends,将不会看到名为S3Boto的文件,而是S3Boto3。我从旧的虚拟环境中放了一个旧的S3Boto文件,一切又恢复了。

答案 7 :(得分:0)

EDX 仅当您在本地时才运行此命令

paver update_assets --theme-dirs=/edx/app/edxapp/edx-platform/themes/theme-name/