Я следовал учебному пособию AWS для развертывания приложения django с использованием эластичного beanstalk (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-django.html). Когда я прихожу к этапу создания среды eb с помощью cli, я сталкиваюсь с ошибками, которые указывают на то, что Python 2 каким-то образом находится в миксе,что не должно быть.
Моя среда создана, но с ошибками, как подробно описано ниже.
Я рассмотрел следующее.
-Я получилпросмотрел учебник по django и убедился, что я им следую.
-Я исследовал проблему с SO и просмотрел свои журналы eb, но не смог определить суть этой конкретной проблемы.
-У меня естьподтвердил, что pywin 225 существует, и платформа aws настроена для python 3.6 (а не 2.7, как предполагают журналы?).
Конечный конец журнала создания env выглядит следующим образом:
Creating application version archive "app-191001_120338".
Uploading ebdjango/app-191001_120338.zip to S3. This may take a while.
Upload Complete.
Environment details for: ebdjango-dev
Application name: ebdjango
Region: us-west-1
Deployed Version: app-191001_120338
Environment ID: e-ine5bnjxcv
Platform: arn:aws:elasticbeanstalk:us-west-1::platform/Python 3.6 running on 64bit Amazon Linux/2.9.2
Tier: WebServer-Standard-1.0
CNAME: ebdjango-dev2.us-west-1.elasticbeanstalk.com
Updated: 2019-10-01 19:03:41.226000+00:00
Printing Status:
2019-10-01 19:03:39 INFO createEnvironment is starting.
2019-10-01 19:03:41 INFO Using elasticbeanstalk-us-west-1-307455546112 as Amazon S3 storage bucket for environment data.
2019-10-01 19:04:03 INFO Created target group named: arn:aws:elasticloadbalancing:us-west-1:307455546112:targetgroup/awseb-AWSEB-BNKO4RVK1UEY/9d7bd9879e64fe8e
2019-10-01 19:04:03 INFO Created security group named: sg-08eeeeae2daaa824a
2019-10-01 19:04:18 INFO Created security group named: awseb-e-ine5bnjxcv-stack-AWSEBSecurityGroup-1XHDD3SI17QRF
2019-10-01 19:04:19 INFO Created Auto Scaling launch configuration named: awseb-e-ine5bnjxcv-stack-AWSEBAutoScalingLaunchConfiguration-1JT4JXF8UL7YO
2019-10-01 19:05:20 INFO Created Auto Scaling group named: awseb-e-ine5bnjxcv-stack-AWSEBAutoScalingGroup-UOU7OOHIFLPM
2019-10-01 19:05:20 INFO Waiting for EC2 instances to launch. This may take a few minutes.
2019-10-01 19:05:20 INFO Created Auto Scaling group policy named: arn:aws:autoscaling:us-west-1:307455546112:scalingPolicy:374ae066-b319-4861-9043-1340fe3c1a1c:autoScalingGroupName/awseb-e-ine5bnjxcv-stack-AWSEBAutoScalingGroup-UOU7OOHIFLPM:policyName/awseb-e-ine5bnjxcv-stack-AWSEBAutoScalingScaleDownPolicy-40CWL7KRUGXQ
2019-10-01 19:05:20 INFO Created Auto Scaling group policy named: arn:aws:autoscaling:us-west-1:307455546112:scalingPolicy:343a776e-ed77-4af1-a8f0-c0c59c9d3e0b:autoScalingGroupName/awseb-e-ine5bnjxcv-stack-AWSEBAutoScalingGroup-UOU7OOHIFLPM:policyName/awseb-e-ine5bnjxcv-stack-AWSEBAutoScalingScaleUpPolicy-8FST2RMX5LJH
2019-10-01 19:05:20 INFO Created CloudWatch alarm named: awseb-e-ine5bnjxcv-stack-AWSEBCloudwatchAlarmHigh-1FB67ATMY3PVV
2019-10-01 19:05:20 INFO Created CloudWatch alarm named: awseb-e-ine5bnjxcv-stack-AWSEBCloudwatchAlarmLow-163VGCKXY40IE
2019-10-01 19:06:10 INFO Created load balancer named: arn:aws:elasticloadbalancing:us-west-1:307455546112:loadbalancer/app/awseb-AWSEB-15E7TQ3L7T3G4/297b8eee80310810
2019-10-01 19:06:10 INFO Created Load Balancer listener named: arn:aws:elasticloadbalancing:us-west-1:307455546112:listener/app/awseb-AWSEB-15E7TQ3L7T3G4/297b8eee80310810/b6d5a64f37e36d16
2019-10-01 19:06:22 ERROR Your requirements.txt is invalid. Snapshot your logs for details.
2019-10-01 19:06:25 ERROR [Instance: i-0cd6718e8f5bee560] Command failed on instance. Return code: 1 Output: (TRUNCATED)...)
File "/usr/lib64/python2.7/subprocess.py", line 190, 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 1.
Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py failed. For more detail, check /var/log/eb-activity.log using console or EB CLI.
2019-10-01 19:06:26 INFO Command execution completed on all instances. Summary: [Successful: 0, Failed: 1].
2019-10-01 19:07:28 ERROR Create environment operation is complete, but with errors. For more information, see troubleshooting documentation.
Эта ссылка на /usr/lib64/python2.7/subprocess.py сбивает меня с толку, так как я использую Python 3.6.1.
Когда я просматриваю журналы на предмет наличия файла «require.txt неверный»являетсяСью, ошибка исходит от.
Collecting pywin32==225 (from -r /opt/python/ondeck/app/requirements.txt (line 16))
Could not find a version that satisfies the requirement pywin32==225 (from -r /opt/python/ondeck/app/requirements.txt (line 16)) (from versions: )
No matching distribution found for pywin32==225 (from -r /opt/python/ondeck/app/requirements.txt (line 16))
pywin32 == 225 действительно существует. Я также попытался изменить версию require.txt на 223 вручную (в отдельной попытке), и это не сработало. Я сделал это просто, чтобы попробовать что-то, что не было последней версией pywin32, чтобы увидеть, получу ли я другой результат.
Журналы ошибок продолжаются с другой ссылкой на python 2.7.
You are using pip version 9.0.1, however version 19.2.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
2019-10-01 19:06:22,598 ERROR Error installing dependencies: Command '/opt/python/run/venv/bin/pip install -r /opt/python/ondeck/app/requirements.txt' returned non-zero exit status 1
Traceback (most recent call last):
File "/opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py", line 22, in main
install_dependencies()
File "/opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py", line 18, in install_dependencies
check_call('%s install -r %s' % (os.path.join(APP_VIRTUAL_ENV, 'bin', 'pip'), requirements_file), shell=True)
File "/usr/lib64/python2.7/subprocess.py", line 190, 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 1 (ElasticBeanstalk::ExternalInvocationError)
caused by: Collecting awsebcli==3.15.3 (from -r /opt/python/ondeck/app/requirements.txt (line 1))
Я не ожидал бы никаких ссылок на Python 2, так как все это настроено для Python 3.6. Действительно, когда я захожу в консоль AWS, я могу подтвердить, что платформа Python 3.6 работает на 64-битной Amazon Linux / 2.9.2.
Я ожидаю, что у меня не возникнет проблем с созданием этого приложения / среды с помощью eb CLI, поскольку я точно следую учебному пособию по AWS django.
После получения этих сообщений об ошибках я запустил git-реподля проекта, чтобы другие могли просмотреть мои требования и файлы конфигурации. https://github.com/rdemint/ebdjango
Заранее спасибо