Terminez le débutant ici, en essayant de configurer Django pour fonctionner avec ProstgreSQL.
J'utilise mac osx 10.6.8. J'ai aussi installé PostgreSQL 9.3
Quand j'exécute pip install psycopg2
dans le terminal, l'erreur suivante apparaît
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'.
J'ai vu un certain nombre de messages sur ce
comment-installer-psycopg2-with-pip-on-python
pg-config-executable-not-found
mais je ne sais pas comment trouver l'emplacement du dossier bin contenant pg_config. Des conseils pour trouver ce chemin?
Je vous recommande d'essayer d'utiliser Postgres.app. ( http://postgresapp.com ) Ainsi, vous pourrez facilement activer et désactiver Postgres sur votre Mac. Une fois que vous avez terminé, ajoutez le chemin de Postgres à votre fichier .profile
en ajoutant ce qui suit:
PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"
Ce n'est qu'après avoir ajouté Postgres à votre chemin que vous pouvez installer psycopg2
dans un environnement virtuel (à l'aide de pip) ou dans les packages de votre site global.
Sudo find / -name "pg_config" -print
La réponse est /Library/PostgreSQL/9.1/bin/pg_config dans ma configuration (MAC Maverick)
Postgres.app a été mis à jour récemment. Maintenant, il stocke tous les fichiers binaires dans le dossier "Versions"
PATH="/Applications/Postgres.app/Contents/Versions/9.4/bin:$PATH"
Où 9.4 - version de PostgreSQL.
Installation de homebrew
/usr/bin/Ruby -e "$(curl -fsSL https://raw.github.com/Gist/323731)"
Et puis installer postgresql
brew install postgresql
m'a donné ce joli morceau de sortie:
checking for pg_config... yes
ahhh yeahhhhh
Une fois que vous avez installé l'application PostgreSQL actuelle sur MacOS X 10.11, le fichier pg_config contient /Library/PostgreSQL/9.5/bin/pg_config
.
Puis sur le terminal:
$ export PG_HOME=/Library/PostgreSQL/9.5
$ export PATH=$PATH:$PG_HOME/bin
Cela mettra le chemin dans le fichier .profile du terminal que vous utilisez.
Dans votre environnement (en supposant que vous utilisez virtualenv
), vous installez ensuite psycopg2:
$ pip install psycopg2
Vous devriez voir si vous l'avez déjà téléchargé:
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
Pour résumer, PostgreSQL installe ses fichiers (y compris ses fichiers binaires ou exécutables) à des emplacements différents, en fonction du numéro de version et de la méthode d'installation.
Quelques possibilités:
/usr/local/bin/
/Library/PostgreSQL/9.2/bin/
/Applications/Postgres93.app/Contents/MacOS/bin/
/Applications/Postgres.app/Contents/Versions/9.3/bin/
Pas étonnant que les gens se perdent!
De plus, si votre variable d’environnement $ PATH inclut un chemin vers le répertoire qui inclut un fichier exécutable (pour le confirmer, utilisez echo $PATH
sur la ligne de commande), vous pouvez exécuter which pg_config
, which psql
, etc. pour trouver où se trouve le fichier. situé .
J'ai eu exactement la même erreur, mais j'ai installé postgreSQL via brew et j'ai relancé la commande d'origine et cela a parfaitement fonctionné
brasser installer postgresql
Vous pouvez trouver le répertoire pg_config
en utilisant son homonyme:
$ pg_config --bindir
/usr/lib/postgresql/9.1/bin
$
Testé sur Mac et Debian. Le seul problème est que je ne vois pas comment trouver le bindir pour différentes versions de postgres installées sur le même ordinateur. C'est assez facile à deviner quand même! :-)
Note: J'ai mis à jour mon pg_config à 9.5 sur Debian avec:
Sudo apt-get install postgresql-server-dev-9.5
vérifiez /Library/PostgreSQL/9.3/bin et vous devriez trouver pg_config
C'EST À DIRE. /Library/PostgreSQL/<version_num>/
ps: vous pouvez faire ce qui suit si vous le jugez nécessaire pour vos besoins pg -
créer un .profile dans votre répertoire ~
export PG_HOME=/Library/PostgreSQL/9.3
export PATH=$PATH:$PG_HOME/bin
Vous pouvez maintenant utiliser les commandes psql
ou postgres
à partir du terminal et installer psycopg2 ou toute autre dépendance sans problème, sans oublier de toujours ls $PG_HOME/bin
lorsque vous avez envie de jeter un coup d'œil à votre pg_dir.
J'ai utilisé :
export PATH=$PATH:/Library/PostgreSQL/9.6/bin
pip install psycopg2
pg_config
$ which pg_config // prints the directory location
/usr/bin/pg_config
Avoir le même problème sur mac, vous devez probablement
brasser installer postgresql
alors vous pouvez courir
pip installer psycopg2
La bière va résoudre le problème de PATH pour vous
cette solution fonctionne pour moi au moins.