it-swarm.com.de

pg_config ausführbare Datei nicht gefunden

Ich habe Probleme bei der Installation von psycopg2. Ich erhalte folgende Fehlermeldung, wenn ich pip install psycopg2 versuche:

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

Aber das Problem ist pg_config tatsächlich in meiner PATH; es läuft ohne problem:

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

Ich habe versucht, den Pfad pg_config zur setup.cfg-Datei hinzuzufügen und sie mit den Quelldateien aufzubauen, die ich von ihrer Website heruntergeladen habe ( http://initd.org/psycopg/ ). Ich erhalte die folgende Fehlermeldung!

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

Aber es ist tatsächlich da !!!

Ich bin verblüfft über diese Fehler. Kann jemand bitte helfen?

Übrigens Sudo alle Befehle. Auch ich bin auf RHEL 5.5.

489
user1448207

pg_config befindet sich in postgresql-devel (libpq-dev in Debian/Ubuntu, libpq-devel von Cygwin/Babun.)

526
TilmanBaumann

Unter Mac OS X habe ich es mit dem Paketmanager homebrew gelöst

brew install postgresql
225
azalea

Haben Sie python-dev installiert? Falls Sie dies bereits getan haben, installieren Sie auch libpq-dev

Sudo apt-get install libpq-dev python-dev

Aus dem Artikel: Wie installiert man psycopg2 unter virtualenv

155
thegauraw

Auch unter OSX. Installierte Postgress.app von http://postgresapp.com/ , hatte aber das gleiche Problem.

Ich habe pg_config im Inhalt dieser App gefunden und das Verzeichnis zu $PATH hinzugefügt.

Es war um /Applications/Postgres.app/Contents/Versions/latest/bin. Das hat also funktioniert: export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH".

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

Nur um es zusammenzufassen: Ich hatte genau das gleiche Problem. Nachdem ich eine Menge von stackoverflow-Posts und Online-Blogs gelesen hatte, war die endgültige Lösung für mich die folgende:

1) PostgreSQL (Entwicklung oder jede stabile Version) sollte vor der Installation von psycopg2 installiert werden.

2) Die Datei pg_config (diese Datei befindet sich normalerweise im Ordner bin des PostgreSQL-Installationsordners) PATH musste vor der Installation von psycopg2 explizit eingerichtet werden. In meinem Fall lautet die Installation PATH für PostgreSQL:

/opt/local/lib/postgresql91/

um den PFAD der pg_config-Datei explizit festzulegen, habe ich folgenden Befehl in mein Terminal eingegeben:

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

Dieser Befehl stellt sicher, dass beim Versuch, die Pipeline-Installation von psycopg2 auszuführen, der Pfad diesmal automatisch nach pg_config gesucht wird.

Ich habe auch einen vollständigen Fehler mit trace und dessen Lösung in meinem blog veröffentlicht, auf den Sie vielleicht verweisen möchten. Es ist für Mac OS X, aber das PATH-Problem pg_config ist generisch und auch für Linux anwendbar. 

29

Auf Alpine ist die Bibliothek, die pg_config enthält, postgresql-dev . Führen Sie zur Installation Folgendes aus:

apk add postgresql-dev
27
rkoval

Sudo apt-get install libpq-dev funktioniert für mich unter Ubuntu 15.4

26
novasaint

UPDATE /etc/yum.repos.d/CentOS-Base.repo, Abschnitte [base] und [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
18
Mayank

Für diejenigen, die OS X ausführen, hat diese Lösung für mich funktioniert:

1) Installiere Postgres.app:

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

2) Öffnen Sie dann das Terminal und führen Sie diesen Befehl aus. Ersetzen Sie an der Stelle, an der {{version}} steht, die Postgres-Versionsnummer:

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

z.B.

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

18
Milo

Dies hat bei CentOS für mich funktioniert, zuerst installieren:

Sudo yum install postgresql postgresql-devel python-devel

Verwenden Sie unter Ubuntu einfach die gleichwertigen apt-get-Pakete.

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

Fügen Sie jetzt den Pfad zu Ihrem Postgresql-Bin-Verzeichnis in Ihre Pip-Installation ein. Dies sollte entweder für Debain oder für RHEL-basiertes Linux funktionieren:

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

Stellen Sie sicher, dass Sie den richtigen Pfad angeben. Das ist alles :)

18
radtek

Die Lösung von ALi funktionierte für mich, aber ich hatte Probleme, den Speicherort für den Ordner zu finden. Unter Mac OS X können Sie den Pfad schnell finden, indem Sie psql öffnen (in der oberen Menüleiste befindet sich ein schneller Link). Dies öffnet ein separates Terminalfenster und in der zweiten Zeile wird der Pfad Ihrer Postgres-Installation folgendermaßen aussehen:

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

Ihre pg_config-Datei befindet sich in diesem bin-Ordner. Stellen Sie daher vor der Installation von psycopg2 den Pfad der Datei pg_config ein:

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

oder für neuere Version:

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

Dann installieren Sie psycopg2. 

16
user2498172

Versuchen Sie es zu PATH hinzuzufügen:

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

Sie müssen Ihren Pip aktualisieren, bevor Sie psycopg2 installieren. Verwenden Sie diesen Befehl

pip install --upgrade pip
10
Aswin

Das Problem in Cent OS 7 wurde gelöst durch:

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

stellen Sie sicher, dass Ihre PostgreSql-Version der richtigen Version oben entspricht.

9
Morfat Mosoti

Auf Linux Mint arbeitete Sudo apt-get install libpq-dev für mich.

8
mthecreator

Unter Windows Möglicherweise möchten Sie den Windows-Port von Psycopg installieren, der in der Dokumentation von psycopg empfohlen wird.

7
azalea

Sudo yum install postgresql-devel (centos6X)

pip install psycopg2 == 2.5.2

5
user2387567

Hier für die Vollständigkeit von OS X: Wenn Sie PostgreSQL von MacPorts installieren, befindet sich pg_config in /opt/local/lib/postgresql94/bin/pg_config

Bei der Installation von MacPorts wurde /opt/local/bin bereits zu PATH hinzugefügt. 

So wird das Problem behoben: $ Sudo ln -s /opt/local/lib/postgresql94/bin/pg_config /opt/local/bin/pg_config

pip install psycopg2 kann pg_config jetzt ohne Probleme ausführen.

5
Gabi

Das funktioniert für mich:

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

Unter Mac OS X und Wenn Sie Postgres App verwenden ( http://postgresapp.com/ ):

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

In diesem Befehl müssen Sie keine Version von Postgres angeben. Es wird immer auf das Neueste hingewiesen.

und TU 

pip install psycopg2

P.S: Wenn Changes nicht berücksichtigt wird, müssen Sie möglicherweise die Terminal-/Eingabeaufforderung neu starten

Quelle

4
Dinesh Sunny

So gelang es mir, psycopg2 zu installieren

$ 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

Auf Gentoo müssen Sie Folgendes ausführen

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

Unter MacOS ist es am einfachsten, die richtige Binärdatei zu verknüpfen, die sich im Postgres-Paket befindet.

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

Dies ist ziemlich harmlos, und alle Anwendungen können es bei Bedarf systemweit verwenden.

1
Subin Sebastian

stellen Sie für CentOS/RedHat sicher, dass /etc/alternatives/pgsql-pg_config ein nicht gebrochener Symlink ist

1

Für alle, bei denen dieses Problem auftritt, die an einer Django -Anwendung arbeiten und auf AWS bereitstellen, hat die in diesem Lernprogramm beschriebene Methode für mich funktioniert: https://realpython.com/deploying-a-Django-app -und-postgresql-to-aws-elastische-Bohnenstange /

Hier ist die Erklärung des Autors für den Fall, dass die folgende Fehlermeldung angezeigt wird:

Error: pg_config executable not found.

Das Problem ist, dass wir versucht haben, psycopy2 (die Postgres Python -Bindungen) zu installieren, aber wir müssen auch die Postgres-Client-Treiber installieren. Da sie nicht standardmäßig installiert sind, müssen sie zuerst installiert werden.

eb liest benutzerdefinierte .config-Dateien aus einem Ordner namens ".ebextensions" im Stammverzeichnis Ihres Projekts. Mit diesen CONFIG-Dateien können Sie Pakete installieren, beliebige Befehle ausführen und/oder Umgebungsvariablen festlegen. Dateien im Verzeichnis ".ebextensions" müssen der JSON- oder YAML-Syntax entsprechen und werden in alphabetischer Reihenfolge ausgeführt.

Als Erstes müssen Sie einige Pakete installieren, damit unser Befehl pip install erfolgreich ausgeführt wird. Dazu erstellen wir eine Datei mit dem Namen .ebextensions/01_packages.config:

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

EC2-Instanzen führen Amazon Linux aus, eine Redhat-Variante, sodass wir yum verwenden können, um die benötigten Pakete zu installieren. Im Moment werden wir nur drei Pakete installieren - git, den Postgres-Client und libjpeg for Pillow.

1
kashgo

Windows:

  1. Installieren Sie PostgreSQL. pg_config befindet sich im PostgreSQL-Ordner 'bin'.
  2. Fügen Sie der Windows PATH-Umgebungsvariablen den Pfad zum PostgreSQL-Ordner 'bin' hinzu:

PFAD: C:\Programme\PostgreSQL\9.5\bin;

1
Pavel Molchanov

Die Installation von python-psycopg2 hat es für mich unter Arch Linux gelöst:

pacman -S python-psycopg2
1
Ronan Boiteau

Ich bin mir ziemlich sicher, dass Sie das gleiche "Problem" wie ich erlebt haben, deshalb biete ich Ihnen die extrem einfache Lösung ...

In Ihrem Fall ist der Pfad, den Sie zu $ ​​PATH (oder als Befehlsparameter) hinzufügen müssen:

/usr/pgsql-9.1/bin/pg_config

nicht

/usr/pgsql-9.1/bin

Z.B. Wenn Sie anschließend das Skript python setup.py ausführen, führen Sie es folgendermaßen aus:

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

Wahrscheinlich zu spät, aber immer noch die einfachste Lösung.

Später bearbeiten:

Unter weiterem Test habe ich herausgefunden, dass Sie den Pfad zu pg_config im Formular hinzufügen 

/usr/pgsql-9.1/bin

(ohne/pg_config nach ...../bin) und führen Sie den pip install-Befehl aus, der funktionieren wird.

Wenn Sie sich jedoch dazu entschließen, der Angabe zum Ausführen von python setup.py zu folgen, müssen Sie den Pfad mit/pg_config nach ...../bin angeben, d. H.

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

Wenn Sie es unter Verwendung von brew auf MAC Mojave installiert haben, tun Sie brew info <your postgres>

Es werden Ihnen alle Umgebungsvariablen angezeigt, die Sie festlegen sollten. Kopieren Sie einfach diese Befehle und starten Sie die Shell neu.

0
Ravindra

Ich habe festgestellt, dass diese Seite die besten Anweisungen für die Installation von PostgreSQL auf meinem Mac bietet und dass der Befehl pip install einwandfrei funktioniert hat:

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

0
traggatmot