- 问题**
我尝试在Elastic Beanstalk上部署一个非常简单的应用,后台数据库很小。我尝试安装mysqlclient
,这是AWS here概述的过程的一部分。但是,当我部署应用时,在Elastic Beanstalk尝试下载软件包时,我从日志中收到以下错误:
Collecting mysqlclient
Using cached mysqlclient-2.0.1.tar.gz (87 kB)
2020/08/21 20:30:16.419082 [ERROR] An error occurred during execution of command [app-deploy] - [InstallDependency]. Stop running the command. Error: fail to install dependencies with requirements.txt file with error Command /bin/sh -c /var/app/venv/staging-LQM1lest/bin/pip install -r requirements.txt failed with error exit status 1. Stderr: ERROR: Command errored out with exit status 1:
command: /var/app/venv/staging-LQM1lest/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-bz45889a/mysqlclient/setup.py'"'"'; __file__='"'"'/tmp/pip-install-bz45889a/mysqlclient/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-1tyle8mv
cwd: /tmp/pip-install-bz45889a/mysqlclient/
Complete output (12 lines):
/bin/sh: mysql_config: command not found
/bin/sh: mariadb_config: command not found
/bin/sh: mysql_config: command not found
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-bz45889a/mysqlclient/setup.py", line 15, in <module>
metadata, options = get_config()
File "/tmp/pip-install-bz45889a/mysqlclient/setup_posix.py", line 65, in get_config
libs = mysql_config("libs")
File "/tmp/pip-install-bz45889a/mysqlclient/setup_posix.py", line 31, in mysql_config
raise OSError("{} not found".format(_mysql_config_path))
OSError: mysql_config not found
- 问题**
mysqlclient
是AWS推荐使用Flask或Django连接到RDS中MySQL数据库的驱动程序。如何使用Elastic Beanstalk安装它?
- 背景**
我尝试过使用以下两种方法来实现我的架构:(1)在Elastic Beanstalk环境 * 内 * 的数据库,或者(2)在Elastic Beanstalk环境 * 外 * 的定期部署的RDS示例。
我不能很容易地安装mysql-server或其他使用apt-get
作为suggested here的软件包,这就是为什么我希望这不是一个重复的标签。我没有访问底层服务器。我试图使用平台挂钩和. ebextension,但我不能让它工作。在这篇文章中,我试图退后一步,看看是否有其他途径。
2条答案
按热度按时间35g0bw711#
对于Amazon linux 2,你应该可以用
yum
来安装它。因此,你可以在你的.ebextensions
中有一个名为01_packages.config
的文件,其内容如下:如果需要更多,可以添加更多的yum依赖项。
mftmpeh82#
只是想补充一下对我有效的东西,这和其他的略有不同。
点击这个链接,看看如何为你的yum包设置文件夹-〉https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html(基本上就是在你的项目根目录下创建一个.ebextensions文件夹)
然后按照Marcin的建议在其中创建一个01_packages.config文件,并添加以下代码:
我通过GitHub. Python 3.6和flak-mysqldb上传到AWS beanstalk和代码管道