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?
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.
Sudo find / -name "pg_config" -print
Die Antwort ist in meiner Konfiguration /Library/PostgreSQL/9.1/bin/pg_config (MAC Maverick).
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.
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
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
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 .
Ich hatte genau den gleichen Fehler, aber ich habe postgreSQL durch Brew installiert und den ursprünglichen Befehl erneut ausgeführt.
brew installieren Postgresql
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
Ü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.
Ich benutzte :
export PATH=$PATH:/Library/PostgreSQL/9.6/bin
pip install psycopg2
pg_config
$ which pg_config // prints the directory location
/usr/bin/pg_config
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.