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 чтобы увидеть версию, которую вы используете в вашей среде разработки.

Другие вопросы по тегам