1156

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パスを追加し、Webサイト( http://initd.org/psycopg/setup.cfg )からダウンロードしたソースファイルを使用してビルドしようとすると、次のエラーメッセージが表示されます。

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

しかし、それは実際にそこにあります!!!

私はこれらのエラーに困惑しています。誰か助けてもらえますか?

ちなみに、私はsudoすべてのコマンドです。また、私はRHEL5.5を使用しています。

4

52 に答える 52

1127

pg_config( Debian/Ubuntu では、postgresql-develCentos /Fedora/Cygwin/Babun では。)libpq-devlibpq-devel

于 2012-08-20T11:51:48.440 に答える
327

インストールしましたpython-devか?既にお持ちの場合は、インストールもお試しくださいlibpq-dev

sudo apt-get install libpq-dev python-dev

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

于 2013-01-20T11:51:21.980 に答える
37
apt-get build-dep python-psycopg2
于 2013-02-08T19:04:05.250 に答える
35

Ubuntu 上の Postgres で使用される Python 要件を追加する必要があります。走る:

sudo apt-get install libpq-dev python-dev
于 2017-09-08T06:54:08.767 に答える
34

要約すると、私もまったく同じ問題に直面しました。多くのstackoverflowの投稿とオンラインブログを読んだ後、私にとってうまくいった最終的な解決策は次のとおりです。

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

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

/opt/local/lib/postgresql91/

そのため、pg_config ファイルの PATH を明示的に設定するために、ターミナルで次のコマンドを入力しました。

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

このコマンドにより、psycopg2 を pip でインストールしようとすると、今度は pg_config への PATH が自動的に検出されます。

また、トレースとその解決策を含む完全なエラーをブログに投稿しました。参照してください。Mac OS X 用ですが、pg_config PATH の問題は一般的であり、Linux にも適用されます。

于 2013-07-05T06:46:03.670 に答える
32

sudo apt-get install libpq-devUbuntu 15.4で動作します

于 2016-12-07T22:34:30.640 に答える
22

OS X を実行している場合、この解決策が役に立ちました。

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

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

2) 次に、ターミナルを開いて次のコマンドを実行し、{{version}} と表示されている場所を Postgres のバージョン番号に置き換えます。

export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/{{version}}/bin

例えば

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

于 2015-03-26T11:11:46.910 に答える
21

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
于 2013-09-03T10:04:48.883 に答える
18

アリの解決策はうまくいきましたが、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 をインストールします。

于 2013-12-31T16:45:25.633 に答える
18

それをPATHに追加してみてください:

PATH=$PATH:/usr/pgsql-9.1/bin/ ./pip install psycopg2
于 2012-08-20T12:16:12.960 に答える
18

以下を実行するだけです。

sudo apt install libpq-dev

問題を修正しました

于 2021-02-11T09:02:51.297 に答える
13

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

pip install --upgrade pip
于 2017-03-10T08:17:15.210 に答える
11

Mac OS X で Postgres アプリ ( http://postgresapp.com/ )を使用している場合:

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

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

そして、やります

pip install psycopg2

PS: 変更が反映されない場合は、ターミナル/コマンド プロンプトを再起動する必要がある場合があります。

ソース

于 2016-10-26T06:41:26.600 に答える
9

Cent OS 7の問題を次のように解決しました:

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

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

于 2016-04-17T18:44:13.957 に答える
9

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

于 2014-09-10T14:15:13.943 に答える
7

postgres アプリzshもインストールしたシェルを使用する macOS Catalina の場合:

~/.zshrcファイルを開き、次の行を追加します

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

次に、すべての端末を閉じてから再度開くと、問題が解決されます。

端末を閉じたくない場合は、source ~/.zshrc作業を続けたい端末を入力してください。

于 2019-11-27T00:15:06.910 に答える
7

ここで、OS X の完全性のために: MacPorts から PostgreSQL をインストールする場合、pg_config は/opt/local/lib/postgresql94/bin/pg_config.

MacPorts をインストールすると、すでに/opt/local/binPATH に追加されています。

したがって、これで問題は解決します。 $ sudo ln -s /opt/local/lib/postgresql94/bin/pg_config /opt/local/bin/pg_config

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

于 2015-04-29T18:36:19.627 に答える
5

Postgres.app を使用することをお勧めします。( http://postgresapp.com ) このようにして、Mac で Postgres のオンとオフを簡単に切り替えることができます。完了したら、以下を追加して、Postgres へのパスを .profile ファイルに追加します。

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

Postgres をパスに追加した後でのみ、仮想環境内 (pip を使用) またはグローバル サイト パッケージに psycopg2 のインストールを試みることができます。

于 2020-04-29T15:29:56.683 に答える
3

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

あなたの場合、 $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
于 2014-01-30T12:16:48.053 に答える
1

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

# Install postgresql client libraries
sudo emerge postgresql-base
于 2014-09-04T12:16:21.017 に答える
1

最近pythonを更新したか、デフォルトのpythonを変更した場合(3.6から3.8としましょう)。次のコード

sudo apt-get install python-dev   OR    sudo apt-get install python3-dev

以前のpythonバージョンをインストール/動作します。

したがって、このコマンドを最近更新/変更された python バージョンで機能させたい場合は、次のようなコマンドで python3.8 などの特定のバージョンに言及してみてください。

sudo apt-get install python3.8-dev  

以下で上記を試してください

pip install wheel
export PATH=/path/to/compiled/postgresql/bin:"$PATH"
sudo apt-get install libpq-dev
sudo apt-get install python3.x-dev    **Change x with your version, eg python3.8**
pip install psycopg2-binary
pip install psycopg2
于 2020-12-26T06:40:32.390 に答える
0

このページには、私の Mac に PostgreSQL をインストールするための最良の手順が記載されており、その後、pip install コマンドが完全に機能することがわかりました。

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

于 2015-01-06T09:55:55.697 に答える