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


当前回答

阿里的解决方案为我工作,但我有麻烦找到bin文件夹的位置。在Mac OS X上找到路径的一个快速方法是打开psql(在顶部菜单栏中有一个快速链接)。这将打开一个单独的终端窗口,在第二行中,Postgres的安装路径将如下所示:

My-MacBook-Pro:~ Me$ /Applications/Postgres93.app/Contents/MacOS/bin/psql ; exit;

您的pg_config文件在bin文件夹中。因此,在安装psycopg2之前,设置pg_config文件的路径:

PATH=$PATH:/Applications/Postgres93.app/Contents/MacOS/bin/

或更新版本:

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

然后安装psycopg2。

其他回答

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

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

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

在Windows上, 您可能希望安装Psycopg的Windows端口,Psycopg的文档中推荐这样做。

这是我在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

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

那些在macOS Catalina上使用zsh shell并安装了postgres应用程序的用户:

打开~/。ZSHRC文件,并添加以下行:

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

然后关闭你所有的终端,重新打开,你的问题就解决了。

如果您不想关闭终端,只需输入source ~/。ZSHRC在任何你想继续工作的终端上。

在Arch Linux上安装python-psycopg2为我解决了这个问题:

pacman -S python-psycopg2