P粉7774587872023-08-29 13:37:05
回答自己的问题。稍后我问了一个类似的问题AWS Elastic Beanstalk RDS MacOS mysqlclient not working并得到了帮助。
答案确实是packages.config文件,通过yum安装所需的文件(请参考上面的链接)。我的代码中还有其他地方出了问题,但我得到的错误与上面的错误相同,尽管packages.config已经正确设置。我发现这个问题是因为我尝试将其设置回SQLite数据库并上传到Elastic Beanstalk,但它不起作用。(对不起,我不记得我得到了什么错误,我很紧张,我想是"111: Connection refused"错误。)
我让事情正常工作的方法是删除所有配置文件,然后从常规完成的项目重新开始,然后按照教程进行操作(就像我以前做的那样):https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-django.html https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-rds.html#python-rds-connect
从那里,我在我的.ebextensions文件夹中添加了一个packages.config文件,其中包含以下代码...
packages: yum: python3-devel: [] mariadb-devel: []
...正如我在上面链接的另一个问题中所提到的,以及这里:mysqlclient installation error in AWS Elastic Beanstalk
我还需要gunicorn和一个Procfile,但我之前已经解决了这个问题,但如果你因为Elastic Beanstalk和RDS的问题而来到这里,这也值得一提。
我还不明白如果我在我的计算机上没有yum,是否可以在packages.config文件中使用yum,特别是因为我使用的是MacOS,而在MacOS上使用yum并不常见。这个问题在我上面链接的另一个问题中得到了回答,答案是在这种情况下你不需要在你的计算机上安装yum,因为yum在这种情况下是由Elastic Beanstalk的Amazon Linux 2服务器使用的。