Comment corriger 'pg_config executable not found' lors de l'installation de psycopg2
Si vous avez essayé d’installer le package Python psycopg2
pour vous connecter à des bases de données PostgreSQL, vous avez peut-être rencontré la frustrante erreur pg_config executable not found
. Ce guide explique ce qui cause cette erreur et fournit des étapes claires pour la résoudre sur différents systèmes d’exploitation.
Points clés
- L’erreur
pg_config executable not found
se produit lors de l’installation de packages Python commepsycopg2
qui nécessitent PostgreSQL - Assurez-vous que PostgreSQL est installé et que
pg_config
se trouve dans lePATH
du système - Installez les bibliothèques de développement et les en-têtes PostgreSQL pour votre système d’exploitation
- Envisagez d’utiliser
psycopg2-binary
pour le développement/test afin d’éviter de compiler à partir du code source
Qu’est-ce que l’erreur “pg_config executable not found” ?
L’outil pg_config
fournit des informations sur la version installée de PostgreSQL. De nombreux packages comme psycopg2
s’appuient sur pg_config
pendant l’installation pour localiser les fichiers et bibliothèques PostgreSQL nécessaires. Si pg_config
ne peut pas être trouvé, l’installation échoue avec une erreur comme :
Error: pg_config executable not found.
Causes courantes de l’erreur “pg_config executable not found”
Il y a quelques raisons principales pour lesquelles vous pouvez voir cette erreur :
- PostgreSQL n’est pas installé
- L’exécutable
pg_config
n’est pas dans lePATH
du système - Les bibliothèques de développement et les en-têtes PostgreSQL requis sont manquants
Voyons comment résoudre chacun de ces problèmes.
Comment corriger l’erreur “pg_config executable not found”
1. Installer PostgreSQL
Tout d’abord, assurez-vous que PostgreSQL est installé sur votre système. Vous pouvez télécharger l’installateur approprié pour votre système d’exploitation sur le site web officiel de PostgreSQL.
2. Localiser pg_config
et l’ajouter au PATH
L’exécutable pg_config
est inclus avec PostgreSQL, mais peut ne pas être dans le PATH
du système. Trouvez l’emplacement de pg_config
et ajoutez son répertoire au PATH
:
Linux
Emplacements courants :
/usr/pgsql-<version>/bin/pg_config
/usr/local/pgsql/bin/pg_config
Ajouter au PATH
:
export PATH=$PATH:/chemin/vers/répertoire/pg_config
macOS
Emplacement courant (Postgres.app) :
/Applications/Postgres.app/Contents/Versions/latest/bin/pg_config
Ajouter au PATH
:
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin
Windows
Emplacement courant :
C:\Program Files\PostgreSQL\<version>\bin\pg_config.exe
Ajouter au PATH
:
setx PATH "%PATH%;C:\chemin\vers\répertoire\pg_config"
3. Installer les bibliothèques de développement PostgreSQL
Pour compiler psycopg2
, vous avez besoin des bibliothèques de développement et des en-têtes PostgreSQL. Installez-les en utilisant le gestionnaire de packages de votre système :
Linux
- Ubuntu/Debian :
sudo apt install libpq-dev
- CentOS/RHEL :
sudo yum install postgresql-devel
macOS
Installer avec Homebrew :
brew install postgresql
Windows
Les bibliothèques sont incluses dans l’installateur PostgreSQL du site web officiel.
Installer psycopg2
Avec PostgreSQL installé et pg_config
dans le PATH
, vous pouvez maintenant installer psycopg2
:
pip install psycopg2
Si vous préférez éviter de compiler à partir du code source, vous pouvez installer le package pré-compilé psycopg2-binary
à la place :
pip install psycopg2-binary
Cependant, notez que psycopg2-binary
est recommandé uniquement pour le développement et les tests, pas pour la production.
FAQ
Oui, `psycopg2-binary` fournit des packages wheel pré-compilés qui ne nécessitent pas de compiler à partir du code source. Cependant, l'équipe `psycopg2` recommande d'utiliser la distribution source pour les environnements de production.
Oui, `psycopg2` est un adaptateur PostgreSQL pour Python. Il nécessite une installation PostgreSQL pour fonctionner correctement, même si votre application Python se connecte à une base de données PostgreSQL distante.
Conclusion
En suivant les étapes décrites ici, vous devriez être en mesure de résoudre l’erreur pg_config executable not found
et d’installer avec succès psycopg2
pour commencer à utiliser PostgreSQL dans vos projets Python.