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


当前回答

快速了解pip的工作原理pip -> python2和pip3 -> python3,所以如果你想在python3上修复这个问题,你可以简单地sudo pip3 install psycopg2,这应该可以工作,可能。

其他回答

对于那些没有在本地安装Postgresql并希望将其作为Docker容器运行的人。您应该使用psycopg2-binary。

刚刚解决了问题在Cent OS 7:

export PATH=$PATH:/usr/pgsql-9.5/bin

确保你的PostgreSql版本与上面的正确版本匹配。

这是之前部分建议的,为了清晰起见,在这里添加它。

参见https://www.psycopg.org/docs/install.html的文档。 他们建议运行:$ PIP install psycopg2-binary

这为我解决了问题。

在Mac OS X上,我使用自制包管理器解决了这个问题

brew install postgresql

如果你试图在你的虚拟环境中添加psycopg2依赖项,它将允许你的python项目连接到你的docker或kubernetes pod,在你的Mac上单独运行postgresql,并且不真正有兴趣在Mac上安装postgresql,只是为了获得pg_config,下面是你要做的:

按照pipenv安装错误输出中的建议安装psycopg2_binary,一切都会正常工作。