我在安装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。


当前回答

在MacOS上,最简单的解决方案是将正确的二进制文件进行符号链接,即在Postgres包下。

sudo ln -s /Applications/Postgres.app/Contents/Versions/latest/bin/pg_config /usr/local/bin/pg_config

这是相当无害的,如果需要,所有应用程序都可以在系统范围内使用它。

其他回答

你应该在Ubuntu上添加Postgres中使用的python需求。运行:

sudo apt-get install libpq-dev python-dev

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

sudo apt-get install libpq-dev python-dev

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

apt-get build-dep python-psycopg2

在Mac OS X和如果你使用Postgres应用程序(http://postgresapp.com/):

export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin

在此命令中不需要指定Postgres的版本。它总是指向最新的。

,做

pip install psycopg2

附注:如果“更改”没有反映,您可能需要重新启动终端/命令提示符

执行以下命令解决pg_config可执行文件不存在的问题

sudo apt-get install --reinstall libpq-dev