web-dev-qa-db-ja.com

pg_config実行可能ファイルが見つかりません

Psycopg2のインストールに問題があります。 pip install 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にいます。

520
user1448207

pg_configpostgresql-develにあります(Debian/Ubuntuではlibpq-dev、Cygwin/Babunではlibpq-devel)。

554
TilmanBaumann

Mac OS Xでは、 homebrew パッケージマネージャを使って解決しました。

brew install postgresql
240
azalea

Python-devをインストールしましたか?すでにお持ちの場合は、libpq-devもインストールしてみてください。

Sudo apt-get install libpq-dev python-dev

記事から: virtualenvの下にpsycopg2をインストールする方法

160
thegauraw

OSXでも。 http://postgresapp.com/ からPostgress.appをインストールしましたが、同じ問題がありました。

そのアプリのコンテンツでpg_configを見つけて、そのディレクトリを$PATHに追加しました。

/Applications/Postgres.app/Contents/Versions/latest/binにありました。これでうまくいきました:export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"

57
Tayler
apt-get build-dep python-psycopg2
36
matiu

アルパインでは、pg_configを含むライブラリは postgresql-dev です。インストールするには、次のコマンドを実行してください。

apk add postgresql-dev
34
rkoval

まとめると、私も全く同じ問題に直面しました。多くのstackoverflowの投稿やオンラインブログを読んだ後、私のために働いた最後の解決策はこれです:

1)psycopg2をインストールする前にPostgreSQL(開発版または安定版)をインストールする必要があります。

2)pg_configファイル(このファイルは通常PostgreSQLインストールフォルダのbinフォルダにあります)PATHはpsycopg2をインストールする前に明示的に設定する必要がありました。私の場合、PostgreSQLのインストールパスは次のとおりです。

/opt/local/lib/postgresql91/

そのため、pg_configファイルのPATHを明示的に設定するために、私は自分の端末で次のコマンドを入力しました。

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

このコマンドは、あなたがpsycopg2をピップインストールしようとするとき、それは今度は自動的にpg_configへのPATHを見つけるでしょう。

私はまたあなたが参照したいと思うかもしれない私の blog に跡およびその解決との完全なエラーを掲示しました。これはMac OS X用ですが、pg_configのPATH問題は一般的なもので、Linuxにも当てはまります。

29

Sudo apt-get install libpq-devはUbuntu 15.4で動作します

26
novasaint

これはCentOSで私のために働いたものです、最初にインストールしてください:

Sudo yum install postgresql postgresql-devel python-devel

Ubuntuでは、同等のapt-getパッケージを使うだけです。

Sudo apt-get install postgresql postgresql-dev python-dev

そして今、あなたのpostgresqlバイナリディレクトリへのパスをpip installで含めてください。これはDebainかRHELベースのLinuxのどちらでも動くはずです:

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

必ず正しいパスを含めてください。それで全部です :)

21
radtek

UPDATE /etc/yum.repos.d/CentOS-Base.repo、[base]および[updates]セクション
ADD exclude = postgresql *

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
19
Mayank

OS Xを実行している人のために、この解決策は私のために働きました:

1)Postgres.appをインストールします。

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

2)それからTerminalを開いて、{{version}}のところをPostgresのバージョン番号に置き換えて、このコマンドを実行します。

エクスポートパス= $パス:/Applications/Postgres.app/Contents/Versions/{{version}}/bin

例えば.

エクスポートパス= $パス:/Applications/Postgres.app/Contents/Versions/9.4/bin

18
Milo

Linux MintではSudo apt-get install libpq-devが私のために働きました。

16
mthecreator

ALiの解決策は私のために働いたが、私はbinフォルダの場所を見つけるのに苦労していました。 Mac OS Xでパスを見つける簡単な方法はpsqlを開くことです(トップメニューバーにクイックリンクがあります)。これは別の端末ウィンドウを開き、2行目にはあなたの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をインストールしてください。

16
user2498172

PATHに追加してみてください。

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

Psycopg2をインストールする前にpipをアップグレードする必要があります。このコマンドを使う

pip install --upgrade pip
10
Aswin

Cent OS 7の問題を解決するには、以下の手順に従ってください。

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

あなたのPostgreSqlのバージョンが上記の正しいバージョンと一致することを確認してください。

9
Morfat Mosoti

これは私のために働く:

Sudo apt-get install libpq-dev python-dev
8
Kishore Bhosale

Windowsでは、 psycopgのドキュメント で推奨されている WindowsポートのPsycopg をインストールすることをお勧めします。

7
azalea

Sudo yumインストールpostgresql-devel(centos6X)

pip install psycopg2 == 2.5.2

5
user2387567

ここでは、OS Xを完全にするために、MacPortsからPostgreSQLをインストールした場合、pg_configは/opt/local/lib/postgresql94/bin/pg_configになります。

あなたがMacPortsをインストールしたとき、それはあなたのPATHに既に/opt/local/binを追加しました。

だから、これは問題を解決します:$ Sudo ln -s /opt/local/lib/postgresql94/bin/pg_config /opt/local/bin/pg_config

これでpip install psycopg2は問題なくpg_configを実行できるようになります。

5
Gabi

Mac OS XおよびPostgres Appを使用している場合( http://postgresapp.com/ /):

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

このコマンドでPostgresのバージョンを指定する必要はありません。それは常に最新を指すでしょう。

そして、やります

pip install psycopg2

P.S:変更が反映されていない場合は、ターミナル/コマンドプロンプトを再起動する必要があるかもしれません。

出典

5
Dinesh Sunny

python-psycopg2 をインストールすると、Arch Linux上でそれが解決しました。

pacman -S python-psycopg2
2
Ronan Boiteau

これが私がどうやってpsycopg2をインストールしたかです

$ 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
2
TomNg

Gentooでは以下を実行する必要があります。

# Install postgresql client libraries
Sudo emerge postgresql-base
1
czerasz

MacOSでは、最も簡単な方法は、Postgresパッケージ内にある正しいバイナリをシンボリックリンクすることです。

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

これはかなり無害であり、必要に応じてすべてのアプリケーションがシステム全体で使用できます。

1
Subin Sebastian

centOS/RedHatの場合、/etc/alternatives/pgsql-pg_configが壊れていないシンボリックリンクであることを確認してください。

1

Djangoアプリケーションで作業し、AWSにデプロイするこの問題が発生した場合は、このチュートリアルで説明した方法が役に立ちました: https://realpython.com/deploying-a-Django-app -and-postgresql-to-aws-elastic-beanstalk /

以下は、次のエラーが発生したときの著者の説明です。

Error: pg_config executable not found.

問題は、psycopy2(Postgres Pythonバインディング)をインストールしようとしましたが、Postgresクライアントドライバーもインストールする必要があることです。デフォルトではインストールされないため、最初にインストールする必要があります。

ebは、プロジェクトのルートレベルにある「.ebextensions」というフォルダーからカスタム.configファイルを読み取ります。これらの.configファイルを使用すると、パッケージをインストールしたり、任意のコマンドを実行したり、環境変数を設定したりできます。 「.ebextensions」ディレクトリ内のファイルは、JSONまたはYAML構文のいずれかに準拠する必要があり、アルファベット順に実行されます。

最初に行うことは、pip installコマンドが正常に完了するようにいくつかのパッケージをインストールすることです。これを行うには、.ebextensions/01_packages.configというファイルを作成しましょう。

packages:
  yum:
    git: []
    postgresql93-devel: []
    libjpeg-turbo-devel: []

EC2インスタンスはRedhatフレーバーであるAmazon Linuxを実行するため、yumを使用して必要なパッケージをインストールできます。ここでは、git、Postgresクライアント、Pillow用のlibjpegの3つのパッケージをインストールします。

1
kashgo

Windows:

  1. PostgreSQLをインストールしてください。 pg_configはPostgreSQLの「bin」フォルダにあります。
  2. PostgreSQLの「bin」フォルダへのパスをWindowsのPATH環境変数に追加します。

パス:C:\ Program Files\PostgreSQL\9.5\bin;

1
Pavel Molchanov

私はあなたが私が経験したのと同じ「問題」を経験したと確信しています、それで私はあなたに非常に簡単な解決策を提供するつもりです...

あなたの場合、$ PATHに(またはコマンドパラメータとして)追加する必要がある実際のパスは次のとおりです。

/usr/pgsql-9.1/bin/pg_config

ではない

/usr/pgsql-9.1/bin

例えば。あとでpython setup.pyスクリプトを実行すると、次のようになります。

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

おそらく手遅れですが、それでも最も簡単な解決策です。

後編集:

さらにテストを重ねた結果、最初にpg_configへのパスを次の形式で追加した場合、そのことがわかりました。

/usr/pgsql-9.1/bin

(...../binの後に/ pg_configを付けずに)pip installコマンドを実行すると動作します。

ただし、その後python setup.pyを実行するという指示に従うことにした場合は、...../binの後に/ pg_configを使用してパスを指定する必要があります。

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

MAC Mojaveで、brewを使ってインストールした場合は、brew info <your postgres>を実行してください。

設定する必要があるすべての環境変数が表示されます。これらのコマンドをコピーアンドペーストし、シェルを再起動するだけで完了です。

0
Ravindra

私はこのページが私のMacにPostgreSQLをインストールするための最良の指示を提供し、そしてpip installコマンドがその後完全に機能することを発見しました:

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

0
traggatmot