Schließen Sie den Neuling hier ab und versuchen Sie, Django für die Arbeit mit PostgreSQL einzurichten.
Ich benutze Mac OSX 10.6.8. Ich habe auch PostgreSQL 9.3 installiert
Wenn ich pip install psycopg2
im Terminal laufe, erhalte ich den folgenden Fehler
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 eine Reihe von Beiträgen zu dieser
Anleitung zur Installation von psycopg2-with-pip-on-Python gesehen.
Pg-config-ausführbare-Datei-nicht gefunden
Ich habe jedoch keine Ahnung, wie ich den Speicherort des Bin-Ordners mit pg_config finden kann. Irgendwelche Tipps, um diesen Weg zu finden?
sudo find / -name pg_config
im Terminal.Antworten:
Ich empfehle Ihnen, Postgres.app zu verwenden. ( http://postgresapp.com ) Auf diese Weise können Sie Postgres auf Ihrem Mac einfach ein- und ausschalten. Fügen Sie anschließend den Pfad zu Postgres zu Ihrer
.profile
Datei hinzu, indem Sie Folgendes anhängen:PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"
Erst nachdem Sie Postgres zu Ihrem Pfad hinzugefügt haben, können Sie versuchen, die Installation
psycopg2
entweder in einer virtuellen Umgebung (mithilfe von pip) oder in Ihren globalen Site-Paketen durchzuführen.quelle
/Applications/Postgres.app/Contents/Versions/9.3/bin
./Library/PostgreSQL/9.5/bin/pg_config
unter MacOS X 10.11.export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"
sollte für jede neueste Version funktionieren.sudo find / -name "pg_config" -print
Die Antwort lautet /Library/PostgreSQL/9.1/bin/pg_config in meiner Konfiguration (MAC Maverick)
quelle
Postgres.app wurde kürzlich aktualisiert. Jetzt werden alle Binärdateien im Ordner "Versionen" gespeichert
PATH="/Applications/Postgres.app/Contents/Versions/9.4/bin:$PATH"
Wobei 9.4 - Version von PostgreSQL.
quelle
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
quelle
Sobald Sie die aktuelle PostgreSQL-App unter 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 zuvor heruntergeladen haben:
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
quelle
Zusammenfassend lässt sich sagen, dass PostgreSQL seine Dateien (einschließlich seiner binären oder ausführbaren Dateien) je nach Versionsnummer und Installationsmethode an verschiedenen Speicherorten installiert.
Einige der 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 sind!
Wenn Ihre Umgebungsvariable $ PATH einen Pfad zu dem Verzeichnis enthält, das eine ausführbare Datei enthält (um dies zu bestätigen, verwenden Sie sie
echo $PATH
in der Befehlszeile), können Sie usw. ausführenwhich pg_config
,which psql
um herauszufinden, wo sich die Datei befindet .quelle
Ich hatte genau den gleichen Fehler, aber ich habe postgreSQL durch Brew installiert und den ursprünglichen Befehl erneut ausgeführt, und es hat perfekt funktioniert:
quelle
Sie finden das
pg_config
Verzeichnis unter seinem Namensvetter:$ pg_config --bindir /usr/lib/postgresql/9.1/bin $
Getestet auf Mac und Debian. Die einzige Falte ist, dass ich nicht sehen kann, wie ich das Bindir für verschiedene Versionen von Postgres finde, die auf demselben Computer installiert sind. Es ist jedoch ziemlich leicht zu erraten! :-)
Hinweis: Ich habe meine pg_config unter Debian auf 9.5 aktualisiert mit:
sudo apt-get install postgresql-server-dev-9.5
quelle
pg_config
es nicht zu den in aufgeführten Verzeichnissen gehörtPATH
. Angesichts dieses Sachverhaltspg_config
funktioniert das Ausführen der Shell, wie Sie sie zeigen, aus genau demselben Grund nicht ./usr/local/Cellar/postgresql/9.5.2/bin
Haben Sie das gleiche Problem auf dem Mac, müssen Sie wahrscheinlich
dann kannst du rennen
Das Gebräu wird das PATH-Problem für Sie beheben
Diese Lösung funktioniert zumindest für mich.
quelle
Überprüfen Sie /Library/PostgreSQL/9.3/bin und Sie sollten pg_config finden
IE
/Library/PostgreSQL/<version_num>/
ps: du kannst folgendes tun, wenn du es für notwendig hältst für deine pg bedürfnisse -
Erstellen Sie ein .profile in Ihrem ~ Verzeichnis
export PG_HOME=/Library/PostgreSQL/9.3 export PATH=$PATH:$PG_HOME/bin
Sie können jetzt
psql
oderpostgres
Befehle vom Terminal aus verwenden und psycopg2 oder eine andere Abhängigkeit ohne Probleme installieren. Außerdem können Sie dies immerls $PG_HOME/bin
tun, wenn Sie Lust haben, auf Ihr pg_dir zu spähen.quelle
Ich benutzte :
export PATH=$PATH:/Library/PostgreSQL/9.6/bin pip install psycopg2
quelle
Funktioniert für mich, indem ich zuerst die folgenden Pip-Pakete installiere:
libpq-dev
undpostgresql-common
quelle
So erhalten Sie einfach den Weg von
pg_config
$ which pg_config // prints the directory location /usr/bin/pg_config
quelle