it-swarm.com.de

Wie finde ich den pg_config-Pfad?

Schließen Sie den Neuling hier ab und versuchen Sie, Django für die Zusammenarbeit mit ProstgreSQL einzurichten.

Ich benutze Mac OSX 10.6.8. Ich habe auch PostgreSQL 9.3 installiert

Wenn ich pip install psycopg2 im Terminal starte, erhalte ich die folgende Fehlermeldung

Downloading/unpacking psycopg2
  Downloading psycopg2-2.5.2.tar.gz (685kB): 685kB downloaded
  Running setup.py (path:/private/var/folders/A9/A99cs6x0FNusPejCVkYNTE+++TI/-Tmp-/pip_build_bengorman/psycopg2/setup.py) Egg_info for package 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'.
    Complete output from command python setup.py Egg_info:
    running Egg_info

creating pip-Egg-info/psycopg2.Egg-info

writing pip-Egg-info/psycopg2.Egg-info/PKG-INFO

writing top-level names to pip-Egg-info/psycopg2.Egg-info/top_level.txt

writing dependency_links to pip-Egg-info/psycopg2.Egg-info/dependency_links.txt

writing manifest file 'pip-Egg-info/psycopg2.Egg-info/SOURCES.txt'

warning: manifest_maker: standard file '-c' not found



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'.

Ich habe dazu eine Reihe von Beiträgen gesehen 
Wie installiere ich psycopg2-with-pip-on-python
pg-config-executable-nicht gefunden

aber ich habe keine Ahnung, wie ich den Speicherort des bin-Ordners mit pg_config finden kann. Irgendwelche Tipps, um diesen Weg zu finden?

55
Ben

Ich empfehle, dass Sie versuchen, Postgres.app zu verwenden. ( http://postgresapp.com ) Auf diese Weise können Sie Postgres auf Ihrem Mac ein- und ausschalten. Wenn Sie dies getan haben, fügen Sie den Pfad zu Postgres zu Ihrer .profile-Datei hinzu, indem Sie Folgendes hinzufügen:

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

Erst nachdem Sie Postgres zu Ihrem Pfad hinzugefügt haben, können Sie versuchen, psycopg2 entweder in einer virtuellen Umgebung (mit Pip) oder in Ihren globalen Standortpaketen zu installieren.

85
elynch
Sudo find / -name "pg_config" -print

Die Antwort ist in meiner Konfiguration /Library/PostgreSQL/9.1/bin/pg_config (MAC Maverick).

28
user1953296

Postgres.app wurde kürzlich aktualisiert. Nun werden alle Binärdateien im Ordner "Versions" gespeichert

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

Wo 9.4 - Version von PostgreSQL. 

26
Daniil Ryzhkov

Homebrew installieren

/usr/bin/Ruby -e "$(curl -fsSL https://raw.github.com/Gist/323731)"

Und dann Postgresql installieren

brew install postgresql

gab mir diese schöne Ausgabe:

checking for pg_config... yes

ahhh yeahhhhh

16
cpres

Wenn Sie die aktuelle PostgreSQL-App auf MacOS X 10.11 installiert haben, befindet sich hier die Datei pg_config /Library/PostgreSQL/9.5/bin/pg_config.

Dann auf dem Terminal:

    $ export PG_HOME=/Library/PostgreSQL/9.5
    $ export PATH=$PATH:$PG_HOME/bin

Dadurch wird der Pfad in das .profile des von Ihnen verwendeten Terminals eingefügt.

In Ihrer Umgebung (vorausgesetzt, Sie verwenden virtualenv) installieren Sie dann psycopg2:

    $ pip install psycopg2

Sie sollten sehen, ob Sie es vorher heruntergeladen hatten:

    Collecting psycopg2
      Using cached psycopg2-2.6.1.tar.gz
    Installing collected packages: psycopg2
      Running setup.py install for psycopg2 ... done
    Successfully installed psycopg2-2.6.1
11
Afrowave

Zusammenfassend: PostgreSQL installiert seine Dateien (einschließlich der binären oder ausführbaren Dateien) an verschiedenen Speicherorten, abhängig von der Versionsnummer und der Installationsmethode. 

Einige Möglichkeiten:

/usr/local/bin/
/Library/PostgreSQL/9.2/bin/
/Applications/Postgres93.app/Contents/MacOS/bin/
/Applications/Postgres.app/Contents/Versions/9.3/bin/

Kein Wunder, dass die Leute verwirrt werden!

Wenn Ihre Umgebungsvariable $ PATH einen Pfad zu dem Verzeichnis enthält, in dem sich eine ausführbare Datei befindet (verwenden Sie zur Bestätigung echo $PATH in der Befehlszeile), können Sie which pg_config, which psql usw. ausführen, um wo die Datei) zu ermitteln befindet sich .

7
jkdev

Ich hatte genau den gleichen Fehler, aber ich habe postgreSQL durch Brew installiert und den ursprünglichen Befehl erneut ausgeführt. 

brew installieren Postgresql

5
romainm

Sie finden das pg_config-Verzeichnis anhand seines Namensgebers:

$ pg_config --bindir
/usr/lib/postgresql/9.1/bin
$ 

Getestet auf Mac und Debian. Die einzige Falte ist, dass ich nicht sehen kann, wie man das Bindir für verschiedene Versionen von Postgres findet, die auf demselben Rechner installiert sind. Es ist ziemlich leicht zu erraten! :-)

Hinweis: Ich habe mein pg_config unter Debian auf 9.5 aktualisiert:

Sudo apt-get install postgresql-server-dev-9.5
2
Max Murphy

Überprüfen Sie /Library/PostgreSQL/9.3/bin und Sie sollten pg_config finden

I.E. /Library/PostgreSQL/<version_num>/

ps: Sie können Folgendes tun, wenn Sie dies für Ihre pg-Bedürfnisse als notwendig erachten -

erstellen Sie eine .profile in Ihrem ~ Verzeichnis

export PG_HOME=/Library/PostgreSQL/9.3
export PATH=$PATH:$PG_HOME/bin

Sie können jetzt psql- oder postgres-Befehle vom Terminal aus verwenden und psycopg2 oder andere Abhängigkeiten ohne Probleme installieren. Außerdem können Sie einfach ls $PG_HOME/bin verwenden, wenn Sie Ihr pg_dir sehen möchten.

1
codesage

Ich benutzte :

export PATH=$PATH:/Library/PostgreSQL/9.6/bin

pip install psycopg2
1
Deepika Anand

So erhalten Sie einfach den Pfad von pg_config

$ which pg_config                 // prints the directory location 
/usr/bin/pg_config
0

Habe dasselbe Problem auf Mac, das musst du wahrscheinlich 

brew installieren Postgresql

dann kannst du laufen 

pip install psycopg2

Das Gebräu wird das PATH-Problem für Sie beheben

diese Lösung funktioniert zumindest für mich.

0
zoe_stockholm