Django 错误:请定义阶段';创建pg db';在您的Zappa设置中
简介:我正在使用zappa将django应用程序无中断地部署到AWS lambda。我的RDS实例有一个postgres数据库。我正在关注如何使用zappa无中断地部署django应用程序。到目前为止,我已经设法达到了我需要在我的项目中添加数据库的部分。我已经完成了Django 错误:请定义阶段';创建pg db';在您的Zappa设置中,django,python-3.x,aws-lambda,amazon-rds,zappa,Django,Python 3.x,Aws Lambda,Amazon Rds,Zappa,简介:我正在使用zappa将django应用程序无中断地部署到AWS lambda。我的RDS实例有一个postgres数据库。我正在关注如何使用zappa无中断地部署django应用程序。到目前为止,我已经设法达到了我需要在我的项目中添加数据库的部分。我已经完成了pip安装zappa-django-utils,并将其添加到我的INSTALLED\u应用程序中。现在当我试着跑的时候 zappa manage create_pg_db productionI收到错误: Error: Please
pip安装zappa-django-utils
,并将其添加到我的INSTALLED\u应用程序中。现在当我试着跑的时候
zappa manage create_pg_db production
I收到错误:
Error: Please define stage 'create_pg_db' in your Zappa settings.
我甚至试过zappa manage create_pg_db
我仍然会遇到同样的错误
下面是我的zappa_settings.json文件的外观:
{
"production": {
"aws_region": "us-east-1",
"django_settings": "Cool.settings",
"profile_name": "default",
"project_name": "cool",
"runtime": "python3.6",
"s3_bucket": "cool-7dsfsdf5",
"project_directory": "/tmp/code",
"slim_handler": true,
"vpc config": {
"SubnetIds": [
"subnet-3132ss13b",
"subnet-321321319",
"subnet-2c2313223",
"subnet-5ljlkjljd",
"subnet-132121357",
"subnet-f925f9c7"
],
"SecurityGroupIds": [
"sg-a9asdasd"
]
}
},
"production_ap_northeast_1": {
"aws_region": "ap-northeast-1",
"extends": "production"
},
"production_ap_northeast_2": {
"aws_region": "ap-northeast-2",
"extends": "production"
},
... All regions..
}
如何在您的Zappa设置中定义stagecreate_pg_db
。有人知道前面的步骤吗
使用zappa管理生产创建\u pg\u db的结果
(Venv) $ django-admin --version
1.11.15
(Venv) $ zappa manage production create_pg_db
[START] RequestId: c621321b9-611d-4457-9c23-f65465653dd Version: $LATEST
[DEBUG] 2019-01-28T04:55:05.629Z c6231b9-611d-4457-9c23-f6064654653dd Zappa Event: {'manage': 'create_pg_db'}
No module named 'django': ModuleNotFoundError
Traceback (most recent call last):
File "/var/task/handler.py", line 580, in lambda_handler
return LambdaHandler.lambda_handler(event, context)
File "/var/task/handler.py", line 248, in lambda_handler
return handler.handler(event, context)
File "/var/task/handler.py", line 399, in handler
from django.core import management
ModuleNotFoundError: No module named 'django'
[END] RequestId: c621321b9-611d-4457-9c23-f65465653dd
[REPORT] RequestId: c621321b9-611d-4457-9c23-f65465653dd
Duration: 1.85 ms
Billed Duration: 100 ms
Memory Size: 512 MB
Max Memory Used: 512 MB
Error: Unhandled error occurred while invoking command.
您只定义了一个称为生产的阶段。如果您想将您的舞台命名为创建_pg_db,那么它将如下所示:
{
"create_pg_db": {
"aws_region": "us-east-1",
"django_settings": "Cool.settings",
"profile_name": "default",
"project_name": "cool",
"runtime": "python3.6",
"s3_bucket": "cool-7dsfsdf5",
"project_directory": "/tmp/code",
"slim_handler": true,
"vpc config": {
"SubnetIds": [
"subnet-3132ss13b",
"subnet-321321319",
"subnet-2c2313223",
"subnet-5ljlkjljd",
"subnet-132121357",
"subnet-f925f9c7"
],
"SecurityGroupIds": [
"sg-a9asdasd"
]
}
},
"production_ap_northeast_1": {
"aws_region": "ap-northeast-1",
"extends": "production"
},
"production_ap_northeast_2": {
"aws_region": "ap-northeast-2",
"extends": "production"
},
... All regions...
"production": {
"aws_region": "us-east-1",
"django_settings": "Cool.settings"
... MORE settings...
}
最后,您可以添加更多阶段,然后使用该阶段进行部署。例如,您可以有一个将代码部署到开发环境的开发阶段和一个将代码部署到生产环境的生产阶段。是否应该是zappa manage production create\u pg\u db
?就像在舞台上应该来之前的命令@MilanCermak我尝试查看上面的输出我对zappa了解不够,无法在这里帮助您,但Lambda容器中似乎没有django
——您是如何打包和部署应用程序的?检查那里是否有django
。