关于python:找不到pg_config可执行文件

pg_config executable not found

安装psycopg2时遇到问题。当我尝试pip install psycopg2时,我得到以下错误:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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中;它运行时没有任何问题:

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

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

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

但它确实在那里!!!!

这些错误使我困惑。有人能帮忙吗?

顺便说一下,我把所有的命令都删除了。我也在5点5分。


pg_configpostgresql-devel中(libpq-dev在debian/ubuntu中,libpq-devel在cygwin/babun中)。


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

1
brew install postgresql


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

1
sudo apt-get install libpq-dev python-dev

文章简介:如何在virtualenv下安装psycopg2


也在OSX上。已从http://postgresapp.com/安装postgres.app,但有相同的问题。

我在那个应用程序的内容中找到了pg_config,并在$PATH中添加了dir。

当时在江户十一〔六〕号。所以这是有效的:export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"


1
apt-get build-dep python-psycopg2

在阿尔卑斯山上,图书馆中有pg_configpostgresql-dev。To install,run:

1
apk add postgresql-dev

总而言之,我也面临着同样的问题。在阅读了大量StackOverflow文章和在线博客之后,我的最终解决方案是:

1)在安装psycopg2之前,应该安装postgresql(开发版或任何稳定版本)。

2)在安装psycopg2之前,必须显式设置pg_config文件(该文件通常位于PostgreSQL安装文件夹的bin文件夹中)路径。在我的例子中,PostgreSQL的安装路径是:

1
/opt/local/lib/postgresql91/

因此,为了明确设置pg_config文件的路径,我在终端中输入了以下命令:

1
PATH=$PATH:/opt/local/lib/postgresql91/bin/

这个命令确保当您尝试pip安装psycopg2时,这次会自动找到pg_config的路径。

我也在我的博客上发布了一个关于trace及其解决方案的完整错误,您可能需要参考。它适用于Mac OS X,但是pg_-config路径问题是通用的,也适用于Linux。


为我在乌本图做的作品


这就是我在CentOS上的工作,第一次安装:

1
sudo yum install postgresql postgresql-devel python-devel

在Ubuntu上,只需使用类似的apt-get包。

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

现在将postgresql binary dir的路径包含在pip安装中,这对于基于debain或rhel的linux都是有效的:

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

确保包含正确的路径。这一切:


更新/etc/yum.repos.d/centos-base.repo、[base]和[updates]部分添加exclude=postgresql*

1
2
3
4
5
6
7
8
9
curl -O http://yum.postgresql.org/9.1/redhat/rhel-6-i386/pgdg-centos91-9.1-4.noarch.rpmr  
rpm -ivh pgdg-centos91-9.1-4.noarch.rpm

yum install postgresql  
yum install postgresql-devel

PATH=$PATH:/usr/pgsql-9.1/bin/

pip install psycopg2

For those running os X,this solution worked for me:

(1)Install postgres.app:

http://www.postgresql.org/download/macosx/。

(2)Then open the end and run this command,replacing where it says{{version}with the postgres version number:

Export path=$path:/applications/postgres.app/contents/versions/{version}/bin

E.G.

Export path=$path:/applications/postgres.app/contents/versions/9.4/bin


阿里的解决方案对我有效,但我找不到垃圾箱文件夹的位置。在MacOSX上找到路径的一个快速方法是打开psql(在顶部菜单栏中有一个快速链接)。这将打开一个单独的终端窗口,在第二行,Postgres安装的路径将显示如下:

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

你的pg_配置文件在那个bin文件夹中。因此,在安装psycopg2之前,请设置pg_config文件的路径:

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

或更新版本:

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

然后安装psycopg2。


为我工作


尝试将其添加到路径:

1
PATH=$PATH:/usr/pgsql-9.1/bin/ ./pip install psycopg2


在安装心理医生之前,你需要升级你的PIP。使用此命令

1
pip install --upgrade pip


Just solved the problem in cent os 7 by:

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

确保你的后台版本匹配正确的版本。


This works for me:

1
sudo apt-get install libpq-dev python-dev

在Windows上,您可能需要安装psycopg的Windows端口,这在psycopg的文档中是推荐的。


sudo yum安装postgresql devel(centos6x)

pip安装psycopg2==2.5.2


在这里,如果您安装从MacPorts的PG xC1 xD0后台

当你安装麦克波特时,它已经添加到你的路上。

So,this will fix the problem:
$ sudo ln -s /opt/local/lib/postgresql94/bin/pg_config /opt/local/bin/pg_config

如果没有问题,可以运行EDOCX1。


On Mac OS X and if you are using postgres app(http://postgres app.com/):

ZZU1

没有必要在这一命令中具体说明海报的版本。这将永远是最晚的。

和做

1
pip install psycopg2

P.S.If changes doesn't reflect you may need to restart the final/command prompt

来源


这就是我如何安装psycopg2的方法

1
2
3
4
$ wget http://initd.org/psycopg/tarballs/PSYCOPG-2-5/psycopg2-2.5.3.tar.gz
$ tar -xzf psycopg2-2.5.3.tar.gz
$ cd psycopg2-2.5.3
$ python setup.py install


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

1
2
# Install postgresql client libraries
sudo emerge postgresql-base


我很肯定你也经历过同样的"问题",所以我会给你一个非常简单的解决方案…

在您的例子中,您需要添加到$path(或作为命令参数)的实际路径是:

1
/usr/pgsql-9.1/bin/pg_config

1
/usr/pgsql-9.1/bin

例如,如果随后运行python setup.py脚本,您将按如下方式运行:

1
python setup.py build_ext --pg-config /usr/pgsql-9.1/bin/pg_config build

可能太晚了,但仍然是最简单的解决方案。

后期编辑:

在进一步的测试中,我发现如果您最初在表单中添加pg_config的路径

1
/usr/pgsql-9.1/bin

(在..…/bin之后不使用/pg_config)并运行pip install命令,它将工作。

但是,如果您随后决定按照指示运行python setup.py,则必须在..…/bin之后使用/pg_config指定路径,即。

1
python setup.py build_ext --pg-config /usr/pgsql-9.1/bin/pg_config build


在Arch Linux上为我解决

1
pacman -S python-psycopg2


对于中心/雷德哈特确保/etc/alternatives/pgsql-pg_config是一个非破碎的symlink


Windows:

  • Install postgresql.PG ^ U config is in the postgresql bin folder.
  • Add the path to the postgresql bin folder to the windows path environment variable:
  • PATH:C:.Program files..Postgresql..9.5..bin;


    在Mac Mojave上,如果你用brew安装了,那就做吧法国电力公司

    它将向你展示你应该设置的所有环境变量,简单拷贝这些命令,保留你的壳牌和它!


    我发现这个页面提供了在我的Mac上安装PostgreSQL的最佳说明,之后pip install命令运行良好:

    https://www.codefellows.org/blog/three-battle-tested-ways-to-install-postgresql