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 foundse produit lors de l’installation de packages Python commepsycopg2qui nécessitent PostgreSQL - Assurez-vous que PostgreSQL est installé et que
pg_configse trouve dans lePATHdu 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-binarypour 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_confign’est pas dans lePATHdu 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.