Amazon Elastic Beanstalk上的Psycopg2

问题描述 投票:31回答:4

[我正在尝试上传将Psycopg2用于Amazon Elastic Beanstalk的项目(在python中)。我正在使用一个包含我的项目和requirements.txt文件的zip文件来进行此操作。

但是我收到此错误:

下载/解压psycopg2> = 2.4.6(来自-r/opt/python/ondeck/app/requirements.txt(第3行))运行setup.py软件包psycopg2的egg_info错误:找不到pg_config可执行文件。

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 ...

or with the pg_config option in 'setup.cfg'.
Complete output from command python setup.py egg_info:
running egg_info

我如何在亚马逊上解决这个问题?

python amazon-web-services psycopg2 amazon-elastic-beanstalk
4个回答
49
投票

需要在容器中安装postgresql-devel。创建包含内容的文件“ .ebextensions / packages.config”:

packages:
  yum:
    postgresql94-devel: []

用所需的任何版本的postgres替换94中的postgresql94-devel。例如,对于Postgres 9.3,postgresql93-devel

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html#customize-containers-format-packages


20
投票

[试图对已接受的答案发表评论,但没有声誉。来自AWS支持的最新论坛帖子表明,程序包名称为“ postgresql93-devel”。 postgresql-devel在2014.09 AMI中不起作用。


2
投票

我在上面苦苦挣扎了一段时间,无法获得上述解决方案。我也尝试了许多其他解决方案,但最终我缺乏基本的了解。

配置文件按字母顺序阅读。因此,如果您可能有多个,请确保使用container_commands在您的.config之前按字母顺序排列“ packages.config”。

否则将在安装软件包之前调用'syncdb'。


0
投票
sudo yum install gcc python-setuptools python-devel postgresql-devel
sudo easy_install psycopg2

这在我的Linux AWS上完美工作

© www.soinside.com 2019 - 2024. All rights reserved.