Question

I'm trying to use Django's storages backend (for BotoS3)

settings.py:

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

as shown in http://django-storages.readthedocs.org/en/latest/index.html.

and, requirements.txt:

django-storages==1.1.8

But am getting the error:

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

What am I doing wrong?

Was it helpful?

Solution

There is a possibility that you are in a virtualenv and installing the package outside the virtualenv into the default python installation. Make sure you are not doing that.

OTHER TIPS

If you are experiencing this error even though you've included 'storages' in your INSTALLLED_APPS and django-storages in your requirements.txt, check your STATICFILES_STORAGE variable.

For previous versions of django-storages, this should be set as:

STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'

For newer versions of django-storages, the package uses boto3 instead of boto and this variable should be set as:

STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

If you're using either version and you've configured your DEFAULT_FILE_STORAGE setting incorrectly, you'll receive an import error.

The correct settings can be found in the django-storages docs

I had the same problem. In my case I solved the problem with

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

It was executed inside my virtual environment.

I had installed it within virtual env and was running the exact same issue. My problem was that I forgot to update my requirements.txt. So make you update that file!

If you are using Pipenv make sure you install django-storages using

pipenv install django-storages

so that the Pipfile and Pipfile.lock are both updated.

I had installed using pip inside the virtualenv and requirements.txt was updated but still receiving this error. After digging around I noticed it was not added to the Pipfile. I ran the installer and it cleared up the error.

I installed with: pip install -U django-storages

If you go to venv/lib/python3.8/site-packages/storages/backends you will see no file named S3Boto but S3Boto3. I dropped in an old S3Boto file from an old virtual environment and everything worked again.

I was using virtual environment and installed django-storage as well as boto3 . But still I was getting these errors.

Initially I installed the packages using this command

pip install django-storages, boto3

This command solved my Issue

pip install -U django-storages
pip install -U boto3
  • It updates the packages

EDX only if you are in local then run this command

paver update_assets --theme-dirs=/edx/app/edxapp/edx-platform/themes/theme-name/
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top