Django eb deploy сообщение об ошибке
Во время развертывания Django Project на AWS Elastic Beanstalk я получил следующую ошибку. На локальном хосте все работает нормально.
Creating application version archive "app-160505_232739".
Uploading: [##################################################] 100% Done...
INFO: Environment update is starting.
INFO: Deploying new version to instance(s).
ERROR: [Instance: i-c5493f58] Command failed on instance. Return code: 1 Output: (TRUNCATED)..., level)
File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
File "<frozen importlib._bootstrap>", line 2224, in _find_and_load_unlocked
ImportError: No module named 'storages'.
container_command 01_migrate in .ebextensions/03_python.config failed. For more detail, check /var/log/eb-activity.log using console or EB CLI.
INFO: Command execution completed on all instances. Summary: [Successful: 0, Failed: 1].
ERROR: Unsuccessful command execution on instance id(s) 'i-c5493f58'. Aborting the operation.
ERROR: Failed to deploy application.
.ebextensions/03_python.config
файл:
01_migrate:
command: "python mooove_eb/manage.py migrate --noinput"
leader_only: true
02_collectstatic:
command: "python mooove_eb/manage.py collectstatic --noinput"
leader_only: true
1 ответ
Решение
Сообщение об ошибке говорит о том, что вам не хватает storages
модуль. Из документации AWS Elastic Beanstalk:
Elastic Beanstalk использует файл require.txt, чтобы определить, какой пакет установить на экземплярах EC2, на которых выполняется ваше приложение.
Вам нужно создать файл с именем requirements.txt
и добавьте строку
storages==<your storages version>
Вы можете запустить pip freeze
чтобы увидеть версию, которую вы используете в вашей среде разработки.