我在安装psycopg2时遇到了麻烦。当我尝试pip安装psycopg2时,我得到以下错误:

Error: pg_config executable not found.

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

----------------------------------------
Command python setup.py egg_info failed with error code 1 in /tmp/pip-build/psycopg2

但问题是pg_config实际上在我的PATH中;它运行起来没有任何问题:

$ which pg_config
/usr/pgsql-9.1/bin/pg_config

我尝试将pg_config路径添加到setup.cfg文件中,并使用我从他们的网站(http://initd.org/psycopg/)下载的源文件构建它,我得到了以下错误消息!

Error: Unable to find 'pg_config' file in '/usr/pgsql-9.1/bin/'

但它确实在那里!!

我对这些错误感到困惑。有人能帮忙吗?

顺便说一下,我sudo所有的命令。而且我使用的是RHEL 5.5。


当前回答

你可以使用二进制文件,当Django试图将其作为依赖的一部分安装时,我在dockerizing应用程序时遇到了这个问题,为了解决这个问题,我对requirements.txt使用了这个设置,首先安装二进制文件,然后Django不再尝试安装它: psycopg2-binary django gunicorn

其他回答

在Gentoo上,您必须执行以下操作

# Install postgresql client libraries
sudo emerge postgresql-base

这是我在CentOS上使用的方法,首先安装:

sudo yum install postgresql postgresql-devel python-devel

在Ubuntu上使用等价的apt-get包即可。

sudo apt-get install postgresql postgresql-dev python-dev

现在在pip install中包含到你的postgresql二进制目录的路径,这应该适用于Debain或基于RHEL的Linux:

sudo PATH=$PATH:/usr/pgsql-9.3/bin/ pip install psycopg2

确保包含正确的路径。就这些。

这里,为了OS X的完整性:如果你从MacPorts安装PostgreSQL, pg_config将在/opt/local/lib/postgresql94/bin/pg_config。

当你安装MacPorts时,它已经将/opt/local/bin添加到你的PATH中。

所以,这将解决问题: $ sudo ln -s /opt/local/lib/postgresql94/bin/pg_config /opt/local/bin/pg_config . sh /opt/local/bin/pg_config . sh

现在pip install psycopg2将能够毫无问题地运行pg_config。

在alpine上,包含pg_config的库是postgresql-dev。要安装,运行:

apk add postgresql-dev

你安装python-dev了吗? 如果已经安装了libpq-dev,也可以尝试安装libpq-dev

sudo apt-get install libpq-dev python-dev

摘自文章:如何在virtualenv下安装psycopg2