J'ai du mal à installer psycopg2. J'obtiens l'erreur suivante lorsque j'essaie de pip install 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'.
----------------------------------------
Command python setup.py egg_info failed with error code 1 in /tmp/pip-build/psycopg2
Mais le problème pg_config
est en fait dans mon PATH
; il fonctionne sans aucun problème:
$ which pg_config
/usr/pgsql-9.1/bin/pg_config
J'ai essayé d'ajouter le chemin pg_config au setup.cfg
fichier et de le construire en utilisant les fichiers source que j'ai téléchargés depuis leur site Web ( http://initd.org/psycopg/ ) et j'obtiens le message d'erreur suivant!
Error: Unable to find 'pg_config' file in '/usr/pgsql-9.1/bin/'
Mais c'est en fait là !!!
Je suis déconcerté par ces erreurs. Quelqu'un peut-il aider s'il vous plaît?
Au fait, j'ai sudo
toutes les commandes. Je suis également sur RHEL 5.5.
sudo
,$PATH
est modifié. Pouvez-vous vérifier votre $ PATH en tant que root?ln -s /usr/pgsql-9.1/bin/pg_config /usr/sbin/pg_config
et tout va bien!Réponses:
pg_config
est danspostgresql-devel
(libpq-dev
dans Debian / Ubuntu,libpq-devel
sur Centos / Cygwin / Babun.)la source
libpq-dev
sur Ubuntu Lucid (10.04). Merci d'avance.pg_config
de postgress.app est à/Applications/Postgres.app/Contents/Versions/<your version>/bin
(Mac OS X)libpqxx-devel
sur Fedora.sudo apt-get install libpq-dev
a travaillé pour moi sur UbuntuSur Mac OS X, je l'ai résolu en utilisant le gestionnaire de paquets homebrew
la source
brew
commande fonctionne.brew link postgresql
homebrew
.Avez-vous installé
python-dev
? Si vous l'avez déjà fait, essayez également d'installerlibpq-dev
De l'article: Comment installer psycopg2 sous virtualenv
la source
Python.h: No such file or directory
apt-get install -y gcc
Aussi sur OSX. Postgress.app installé depuis http://postgresapp.com/ mais a eu le même problème.
J'ai trouvé
pg_config
dans le contenu de cette application et j'ai ajouté le répertoire à$PATH
.C'était à
/Applications/Postgres.app/Contents/Versions/latest/bin
. Donc , cela a fonctionné:export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"
.la source
PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH" pip install psycopg2
En alpin, la bibliothèque contenant
pg_config
estpostgresql-dev
. Pour installer, exécutez:la source
C'est ce qui a fonctionné pour moi sur CentOS, première installation:
Sur Ubuntu, utilisez simplement les paquets apt-get équivalents.
Et maintenant incluez le chemin vers votre répertoire binaire postgresql avec votre installation pip, cela devrait fonctionner pour Debain ou Linux basé sur RHEL:
Assurez-vous d'inclure le chemin correct. C'est tout :)
la source
sudo apt-get install postgresql postgresql-dev python-dev
, et cela a fonctionné pour moi.gcc
- vous également qu'il est installé et python3-devel.la source
Vous devez ajouter les exigences python utilisées dans Postgres sur Ubuntu. Courir:
la source
Pour résumer, j'ai également rencontré exactement le même problème. Après avoir lu beaucoup de publications stackoverflow et de blogs en ligne, la solution finale qui a fonctionné pour moi est la suivante:
1) PostgreSQL (développement ou toute version stable) doit être installé avant d'installer psycopg2.
2) Le fichier pg_config (ce fichier réside normalement dans le dossier bin du dossier d'installation de PostgreSQL) PATH devait être explicitement configuré avant d'installer psycopg2. Dans mon cas, le CHEMIN d'installation pour PostgreSQL est:
ainsi afin de définir explicitement le CHEMIN du fichier pg_config, j'ai entré la commande suivante dans mon terminal:
Cette commande garantit que lorsque vous essayez d'installer pip psycopg2, elle trouvera automatiquement le CHEMIN vers pg_config cette fois.
J'ai également publié une erreur complète avec trace et sa solution sur mon blog que vous voudrez peut-être consulter. C'est pour Mac OS X, mais le problème pg_config PATH est générique et s'applique également à Linux.
la source
PATH="/Applications/Postgres.app/Contents/Versions/9.3/bin:$PATH"
sudo apt-get install libpq-dev
fonctionne pour moi sur Ubuntu 15.4la source
Sur Linux, Mint a
sudo apt-get install libpq-dev
fonctionné pour moi.la source
Vous pouvez installer des binaires précompilés sur n'importe quelle plateforme avec
pip
ouconda
:ou
Veuillez noter que la page psycopg2-binary pypi recommande de construire à partir de la source en production:
Pour utiliser le package construit à partir des sources, utilisez
python -m pip install psycopg2
. Ce processus nécessitera plusieurs dépendances ( documentation ) (soulignement le mien):la source
apt install libpq-dev
MISE À JOUR /etc/yum.repos.d/CentOS-Base.repo, sections [de base] et [mises à jour]
AJOUTER exclure = postgresql *
la source
Pour ceux qui utilisent OS X, cette solution a fonctionné pour moi:
1) Installez Postgres.app:
http://www.postgresql.org/download/macosx/
2) Ouvrez ensuite le terminal et exécutez cette commande, en remplaçant où il est indiqué {{version}} par le numéro de version de Postgres:
export PATH = $ PATH: /Applications/Postgres.app/Contents/Versions / {{version}} / bin
par exemple
export PATH = $ PATH: /Applications/Postgres.app/Contents/Versions/9.4/bin
la source
sudo ln -s /Applications/Postgres.app/Contents/Versions/latest/bin/pg_config /usr/local/bin/pg_config
Essayez de l'ajouter à PATH:
la source
-bash: cd: /usr/pgsql-x.x/bin/: No such file or directory
/usr/pgsql-x.x/bin/
c'est correct?pg_
fichiers importants . Pour postgres.app, ce chemin sur Mac OS X est/Applications/Postgres.app/Contents/Versions/9.3/bin
.PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin
Veuillez mettre à jour votre version * si une nouvelle version est sortie!PATH=$PATH:/usr/local/Cellar/postgresql/9.5.0/bin/
La solution d'Ali a fonctionné pour moi mais j'avais du mal à trouver l'emplacement du dossier bin. Un moyen rapide de trouver le chemin sur Mac OS X est d'ouvrir psql (il y a un lien rapide dans la barre de menu supérieure). Cela ouvrira une fenêtre de terminal séparée et sur la deuxième ligne, le chemin de votre installation Postgres apparaîtra comme suit:
Votre fichier pg_config se trouve dans ce dossier bin. Par conséquent, avant d'installer psycopg2, définissez le chemin du fichier pg_config:
ou pour une version plus récente:
Installez ensuite psycopg2.
la source
/Applications/Postgres.app/Contents/Versions/9.3/bin
find /usr/local -name 'pg_config'
Vous devez mettre à jour votre pip avant d'installer psycopg2. Utilisez cette commande
la source
Je vais laisser cela ici pour la prochaine âme malheureuse qui ne peut pas contourner ce problème malgré toutes les solutions fournies. Utilisez simplement
sudo pip3 install psycopg2-binary
la source
brew install postgresql
ai seulement corrigé.pip install psycopg2-binary
pour moi: pip -> python2, pip3 -> python3. Mais tant que vous l'avez fait fonctionner, c'était l'une des nombreuses solutions!Je viens de résoudre le problème dans Cent OS 7 en:
assurez-vous que votre version PostgreSql correspond à la bonne version ci-dessus.
la source
Sous Mac OS X et si vous utilisez l'application Postgres ( http://postgresapp.com/ ):
Pas besoin de spécifier la version de Postgres dans cette commande. Il sera toujours indiqué plus tard.
et fait
PS: si les modifications ne reflètent pas, vous devrez peut-être redémarrer le terminal / invite de commande
La source
la source
L'installation de python-psycopg2 l'a résolu pour moi sur Arch Linux:
la source
Sous Windows, vous souhaiterez peut-être installer le port Windows de Psycopg , qui est recommandé dans la documentation de psycopg .
la source
Sur MacOS, la solution la plus simple sera de créer un lien symbolique vers le bon binaire, c'est-à-dire sous le package Postgres.
C'est assez inoffensif, et toutes les applications pourront l'utiliser à l'échelle du système, si nécessaire.
la source
sudo yum install postgresql-devel (centos6X)
pip install psycopg2 == 2.5.2
la source
Ici, pour être complet avec OS X: si vous installez PostgreSQL depuis MacPorts, pg_config sera dans
/opt/local/lib/postgresql94/bin/pg_config
.Lorsque vous avez installé MacPorts, il a déjà ajouté
/opt/local/bin
à votre PATH.Ainsi, cela résoudra le problème:
$ sudo ln -s /opt/local/lib/postgresql94/bin/pg_config /opt/local/bin/pg_config
Maintenant,
pip install psycopg2
il pourra fonctionnerpg_config
sans problème.la source
Pour ceux sur macOS Catalina utilisant le
zsh
shell qui ont également installé l' application postgres :Ouvrez votre
~/.zshrc
fichier et ajoutez la ligne suivante:Fermez ensuite tous vos terminaux, rouvrez-les et vous aurez résolu votre problème.
Si vous ne souhaitez pas fermer vos terminaux, entrez simplement le
source ~/.zshrc
terminal sur lequel vous souhaitez continuer à travailler.la source
zsh
shell!Pour les utilisateurs de mac, étendez votre variable path pour inclure PostgreSQL comme ceci
export PATH=$PATH:/Library/PostgreSQL/12/bin
.la source
Voici comment j'ai réussi à installer psycopg2
la source
Je suis sûr que vous avez rencontré le même "problème" que moi, donc je vais vous proposer la solution extrêmement simple ...
Dans votre cas, le chemin réel que vous devez ajouter à $ PATH (ou en tant que paramètre de commande) est:
ne pas
Par exemple, si vous exécutez le script setup.py python par la suite, vous l'exécuterez comme ceci:
Probablement trop tard, mais toujours la solution la plus simple.
MODIFICATION PLUS TARD:
Sous un test supplémentaire, j'ai découvert que si vous ajoutez initialement le chemin d'accès à pg_config dans le formulaire
(sans / pg_config après ..... / bin) et exécutez la commande pip install, cela fonctionnera.
Cependant, si vous décidez ensuite de suivre l'indication pour exécuter python setup.py, vous devrez spécifier le chemin avec / pg_config après ..... / bin, c'est-à-dire
la source
/usr/pgsql-9.6/bin/pg_config
(ou tout autre nom sur votre système)/usr/bin/pg_config
- de cette façon, il est disponible dans le PATH que vous avez déjà.pour CentOS / RedHat assurez-vous qu'il
/etc/alternatives/pgsql-pg_config
s'agit d'un lien symbolique non rompula source