AWS Elastic Beanstack игнорирует.ebsextensions
Я пытаюсь развернуть приложение Flask. Когда я делаю eb deploy
Я получаю следующее сообщение об ошибке:
Creating application version archive "app-b7bf-180817_005316".
Uploading: [##################################################] 100% Done...
2018-08-17 03:56:25 INFO Environment update is starting.
2018-08-17 03:56:31 INFO Deploying new version to instance(s).
2018-08-17 03:56:47 ERROR Your requirements.txt is invalid. Snapshot your logs for details.
2018-08-17 03:56:50 ERROR [Instance: i-0dc70ef7e857898e6] Command failed on instance. Return code: 1 Output: (TRUNCATED)...)
File "/usr/lib64/python2.7/subprocess.py", line 186, in check_call
raise CalledProcessError(retcode, cmd)
CalledProcessError: Command '/opt/python/run/venv/bin/pip install -r /opt/python/ondeck/app/requirements.txt' returned non-zero exit status 2.
Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py failed. For more detail, check /var/log/eb-activity.log using console or EB CLI.
2018-08-17 03:56:51 INFO Command execution completed on all instances. Summary: [Successful: 0, Failed: 1].
2018-08-17 03:56:51 ERROR Unsuccessful command execution on instance id(s) 'i-0dc70ef7e857898e6'. Aborting the operation.
2018-08-17 03:56:51 ERROR Failed to deploy application.
проверка eb logs
Я вижу, что проблема заключается в попытке установить Scipy:
Creating application version archive "app-b7bf-180817_005316".
Uploading: [##################################################] 100% Done...
2018-08-17 03:56:25 INFO Environment update is starting.
2018-08-17 03:56:31 INFO Deploying new version to instance(s).
2018-08-17 03:56:47 ERROR Your requirements.txt is invalid. Snapshot your logs for details.
2018-08-17 03:56:50 ERROR [Instance: i-0dc70ef7e857898e6] Command failed on instance. Return code: 1 Output: (TRUNCATED)...)
File "/usr/lib64/python2.7/subprocess.py", line 186, in check_call
raise CalledProcessError(retcode, cmd)
CalledProcessError: Command '/opt/python/run/venv/bin/pip install -r /opt/python/ondeck/app/requirements.txt' returned non-zero exit status 2.
Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py failed. For more detail, check /var/log/eb-activity.log using console or EB CLI.
2018-08-17 03:56:51 INFO Command execution completed on all instances. Summary: [Successful: 0, Failed: 1].
2018-08-17 03:56:51 ERROR Unsuccessful command execution on instance id(s) 'i-0dc70ef7e857898e6'. Aborting the operation.
2018-08-17 03:56:51 ERROR Failed to deploy application.
Я исследовал немного о MemoryError
и кажется, что с помощью аргумента командной строки --no-cache-dir
сделает свое дело. Я создал папку с именем .ebextensions
и создал .config
файл называется python.config
который содержит:
commands:
01_no_cache:
command: /opt/python/run/venv/bin/pip install -r --no-cache-dir /opt/python/ondeck/app/requirements.txt
Я предполагаю, что это как-то настраивает развертывание, поэтому вызывает pip install с опцией no cache. Тем не менее, это своего рода игнорирование, потому что в журналах командная строка не используется, поэтому я предполагаю, что мой конфигурационный файл игнорируется.
Я использую AWS Free Tier, и это мой requirements.txt
:
appdirs==1.4.3
click==6.7
Flask==0.12.1
gunicorn==19.7.1
itsdangerous==0.24
Jinja2==2.9.6
MarkupSafe==1.0
numpy==1.12.1
packaging==16.8
pandas==0.19.2
pyparsing==2.2.0
python-dateutil==2.6.0
pytz==2017.2
six==1.10.0
textstat==0.3.1
Werkzeug==0.12.1
spacy==2.0.5