Развертывание приложения Django на Heroku - 'ModuleNotFoundError: Нет модуля с именем 'storages'
Я пытаюсь развернуть приложение Django на Heroku. Я уже много раз разворачивал, но теперь, когда я добавил интеграцию с S3, я получаю ошибку collectstatic. Я новичок в этом деле и буду признателен за помощь!
Ошибка, когда я делаю git push heroku main
:
remote: -----> $ python manage.py collectstatic --noinput
remote: Traceback (most recent call last):
remote: File "manage.py", line 22, in <module>
remote: main()
remote: File "manage.py", line 18, in main
remote: execute_from_command_line(sys.argv)
remote: File "/app/.heroku/python/lib/python3.8/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
remote: utility.execute()
remote: File "/app/.heroku/python/lib/python3.8/site-packages/django/core/management/__init__.py", line 377, in execute
remote: django.setup()
remote: File "/app/.heroku/python/lib/python3.8/site-packages/django/__init__.py", line 24, in setup
remote: apps.populate(settings.INSTALLED_APPS)
remote: File "/app/.heroku/python/lib/python3.8/site-packages/django/apps/registry.py", line 91, in populate
remote: app_config = AppConfig.create(entry)
remote: File "/app/.heroku/python/lib/python3.8/site-packages/django/apps/config.py", line 90, in create
remote: module = import_module(entry)
remote: File "/app/.heroku/python/lib/python3.8/importlib/__init__.py", line 127, in import_module
remote: return _bootstrap._gcd_import(name[level:], package, level)
remote: File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
remote: File "<frozen importlib._bootstrap>", line 991, in _find_and_load
remote: File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
remote: ModuleNotFoundError: No module named 'storages'
remote:
remote: ! Error while running '$ python manage.py collectstatic --noinput'.
Мой settings.py
файл:
INSTALLED_APPS = [
...
'django.contrib.staticfiles',
'storages',
]
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'
#mediaroot where in filesystem files go
#media url is public url
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
AWS_ACCESS_KEY_ID= os.environ.get('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY= os.environ.get('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME= os.environ.get('AWS_STORAGE_BUCKET_NAME')
AWS_S3_FILE_OVERWRITE = False
AWS_DEFAULT_ACL = None
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
Мой requirements.txt
файл:
asgiref==3.3.1
bcrypt==3.2.0
boto3==1.18.16
botocore==1.21.17
cffi==1.14.6
cryptography==3.4.7
dj-database-url==0.5.0
Django==3.1.7
django-bootstrap-form==3.4
django-filter==2.4.0
django-location-field==2.1.0
django-storages==1.11.1
django-tables2==2.3.4
gunicorn==20.1.0
jmespath==0.10.0
paramiko==2.7.2
Pillow==8.2.0
psycopg2-binary==2.8.6
pycparser==2.20
PyNaCl==1.4.0
python-dateutil==2.8.2
pytz==2021.1
s3transfer==0.5.0
six==1.16.0
sorl-thumbnail==12.7.0
sqlparse==0.4.1
storage==0.0.4.3
urllib3==1.26.6
whitenoise==5.2.0
Я настроил переменные env для AWS в Heroku. Я также пробовал отключать и снова включать collectstatic. Что еще я могу попробовать?