我有一个在Elastic Beanstalk上与PostgreSQL一起使用的Django项目。 我在部署时发现了下一个错误:
Error: pg_config executable not found.
pg_config is required to build psycopg2 from source.
Please add the directory containing pg_config to the $PATH or specify the full executable path with the option:
python setup.py build_ext --pg-config /path/to/pg_config build ...
我遵循psycopg2 on elastic beanstalk - can't deploy app来解决它,它起作用了!但是过了一会儿,亚马逊似乎更新了我的虚拟环境,并且错误再次出现,所以我不得不回去一次又一次地做同样的事情。
我还尝试了直接从Elastic Beanstalk面板配置数据库实例,但是没有任何变化。
数据库位于RDS上,我认为必须要说的是,当我在实例上手动安装psycopg2并重新部署一切正常时,在那之后我什至进行了几次部署,但问题并不存在,但是它过了一会。
我真的很想知道如何彻底解决它。预先感谢。
答案 0 :(得分:1)
它试图从源代码构建postgres驱动程序。 您可以用几种不同的方式来处理。例如,您可以选择从二进制软件包安装驱动程序,而不是从源代码构建它们。
在您的requirements.txt中,替换
psycopg2==2.8.5
使用
psycopg2-binary==2.8.5
如果在部署到Beanstalk时确实坚持从源代码构建它,则将需要使用平台挂钩预先安装编译它所需的依赖项。 AL2实例几乎是准系统,因此您需要大致执行以下操作:
使用此脚本添加所需的依赖关系。例如,对于posgres开发库,您将需要
sudo yum install -y <yum-packahe-that-you-need>
您可能最终还必须安装构建psycopg所需的其他开发库...