1349 Stimmen

`pg_config` ausführbare Datei nicht gefunden

Ich habe Probleme psycopg2 zu installieren. Ich bekomme den folgenden Fehler, wenn ich versuche pip install psycopg2:

Fehler: pg_config ausführbare Datei nicht gefunden.

Bitte fügen Sie das Verzeichnis, das pg_config enthält, zum PATH hinzu

oder geben Sie den vollständigen Ausführungspfad mit der Option an:

    python setup.py build_ext --pg-config /path/to/pg_config build ...

oder mit der pg_config-Option in 'setup.cfg'.

----------------------------------------
Befehl python setup.py egg_info ist mit dem Fehlercode 1 in /tmp/pip-build/psycopg2 fehlgeschlagen

Aber das Problem ist, dass pg_config tatsächlich in meinem PATH ist; es läuft ohne Probleme:

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

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

Fehler: Datei 'pg_config' nicht gefunden in '/usr/pgsql-9.1/bin/'

Aber es ist tatsächlich DORT!!!

Ich bin von diesen Fehlern verwirrt. Kann mir jemand bitte helfen?

Übrigens habe ich alle Befehle mit sudo ausgeführt. Außerdem bin ich auf RHEL 5.5.

1280voto

TilmanBaumann Punkte 12186

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

741voto

azalea Punkte 9626

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

brew install postgresql

368voto

thegauraw Punkte 4880

Hast du python-dev installiert? Wenn ja, versuche auch libpq-dev zu installieren.

sudo apt-get install libpq-dev python-dev

Aus dem Artikel: Wie man psycopg2 unter virtualenv installiert

117voto

salsbury Punkte 2507

Auch auf OSX. Ich habe Postgres.app von http://postgresapp.com/ installiert, aber das gleiche Problem gehabt.

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

Es war unter /Applications/Postgres.app/Contents/Versions/latest/bin. Also hat das funktioniert: export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH".

92voto

jkr Punkte 16221

Sie können vorkompilierte Binärdateien auf jeder Plattform mit pip oder conda installieren:

python -m pip install psycopg2-binary

oder

conda install psycopg2

Bitte beachten Sie, dass die psycopg2-binary pypi Seite empfiehlt, in der Produktion aus den Quellen zu kompilieren:

Das Binärpaket ist eine praktische Wahl für Entwicklung und Tests, aber in der Produktion wird empfohlen, das Paket aus den Quellen zu verwenden

Um das Paket aus den Quellen zu verwenden, verwenden Sie python -m pip install psycopg2. Dieser Prozess erfordert mehrere Abhängigkeiten (Dokumentation) (Hervorhebung von mir):

  • Einen C-Compiler.
  • Die Python-Headerdateien. Sie sind normalerweise in einem Paket wie python-dev installiert. Eine Meldung wie Fehler: Python.h: Datei oder Verzeichnis nicht gefunden deutet darauf hin, dass die Python-Header fehlen.
  • Die libpq-Headerdateien. Diese sind normalerweise in einem Paket wie libpq-dev installiert. Wenn Sie eine Fehler: libpq-fe.h: Datei oder Verzeichnis nicht gefunden erhalten, fehlen sie.
  • Das pg_config Programm: Es ist normalerweise im libpq-dev Paket installiert, aber manchmal befindet es sich nicht in einem PATH-Verzeichnis. Wenn es sich im PATH befindet, wird die Installation erheblich vereinfacht. Versuchen Sie also pg_config --version: Wenn ein Fehler oder eine unerwartete Versionsnummer zurückgegeben wird, suchen Sie das Verzeichnis, das das mit der richtigen libpq-Version gelieferte pg_config enthält (normalerweise /usr/lib/postgresql/X.Y/bin/) und fügen Sie es dem PATH hinzu:

    $ export PATH=/usr/lib/postgresql/X.Y/bin/:$PATH

Sie benötigen pg_config nur zum Kompilieren von psycopg2, nicht für die reguläre Verwendung.

Wenn alles an seinem Platz ist, ist es nur eine Frage des Ausführens des Standards:

$ pip install psycopg2

oder, aus dem Verzeichnis, das den Quellcode enthält:

$ python setup.py build
$ python setup.py install

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X