J'utilise virtualenv
et je dois installer "psycopg2".
J'ai fait ce qui suit:
pip install http://pypi.python.org/packages/source/p/psycopg2/psycopg2-2.4.tar.gz#md5=24f4368e2cfdc1a2b03282ddda814160
Et j'ai les messages suivants:
Downloading/unpacking http://pypi.python.org/packages/source/p/psycopg2/psycopg2
-2.4.tar.gz#md5=24f4368e2cfdc1a2b03282ddda814160
Downloading psycopg2-2.4.tar.gz (607Kb): 607Kb downloaded
Running setup.py Egg_info for package from http://pypi.python.org/packages/sou
rce/p/psycopg2/psycopg2-2.4.tar.gz#md5=24f4368e2cfdc1a2b03282ddda814160
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'.
----------------------------------------
Command python setup.py Egg_info failed with error code 1
Storing complete log in C:\Documents and Settings\anlopes\Application Data\pip\p
ip.log
Ma question, je dois seulement faire ceci pour que le psycopg2 fonctionne?
python setup.py build_ext --pg-config /path/to/pg_config build ...
J'ai trouvé ce post à la recherche d'une solution Linux à ce problème.
Ceci post par "goshawk" m'a donné la solution: lancez Sudo apt-get install libpq-dev python-dev
si vous êtes sur Ubuntu/Debian.
Etant donné que de plus en plus de personnes ont trouvé cette réponse utile et ont publié leurs propres solutions, voici une liste d'entre elles:
Sudo apt install libpq-dev python-dev
Sudo apt install libpq-dev python3-dev
Si rien de ce qui précède ne résout votre problème, essayez
Sudo apt install build-essential
ou
Sudo apt install postgresql-server-dev-all
Sur CentOS, vous avez besoin des packages postgres dev:
Sudo yum install python-devel postgresql-devel
C'était la solution sur CentOS 6 au moins.
Sur Mac Mavericks avec Postgres.app version 9.3.2.0 RC2, je devais utiliser le code suivant après avoir installé Postgres:
Sudo PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin pip install psycopg2
si vous êtes sur un Mac, vous pouvez utiliser l'homebrew
brew install postgresql
Et toutes les autres options sont ici: http://www.postgresql.org/download/macosx/
Bonne chance
J'ai récemment configuré psycopg2 sur une machine Windows. L'installation la plus simple consiste à utiliser un exécutable binaire Windows. Vous pouvez le trouver à http://stickpeople.com/projects/python/win-psycopg/ .
Pour installer le binaire natif dans un environnement virtuel, utilisez easy_install:
C:\virtualenv\Scripts\> activate.bat
(virtualenv) C:\virtualenv\Scripts\> easy_install psycopg2-2.5.win32-py2.7-pg9.2.4-release.exe
C'est ce qui a fonctionné pour moi (sur RHEL, CentOS:
Sudo yum install postgresql postgresql-devel python-devel
Et maintenant, incluez le chemin de votre répertoire binaire postgresql avec votre installation pip:
Sudo PATH=$PATH:/usr/pgsql-9.3/bin/ pip install psycopg2
Assurez-vous d'inclure le chemin correct. C'est tout :)
UPDATE: Pour python 3, veuillez installer python3-devel
au lieu de python-devel
Pour Python 3, vous devez utiliser Sudo apt-get install libpq-dev python3-dev
sous Debian.
Si vous utilisez Mac OS, vous devez installer PostgreSQL à partir du source. Une fois l'installation terminée, vous devez ajouter ce chemin en utilisant:
export PATH=/local/pgsql/bin:$PATH
ou vous pouvez ajouter le chemin comme ceci:
export PATH=.../:usr/local/pgsql/bin
dans votre fichier .profile
ou .zshrc
.
Cela peut varier en fonction du système d'exploitation.
Vous pouvez suivre le processus d'installation à partir de http://www.thegeekstuff.com/2009/04/linux-postgresql-install-and-configure-from-source/
Jusqu'à présent, les réponses ressemblent trop à des recettes magiques. L'erreur que vous avez reçue vous indique que pip ne peut pas trouver une partie nécessaire de la bibliothèque PostgreSQL Query. Peut-être est-ce dû au fait que vous l'avez installé à un emplacement non standard pour votre système d'exploitation, raison pour laquelle le message suggère d'utiliser l'option --pg-config.
Mais une raison plus courante est que libpq n'est pas installé du tout. Cela se produit généralement sur des machines sur lesquelles le serveur PostgreSQL n'est PAS installé parce que vous souhaitez uniquement exécuter des applications client, pas le serveur lui-même. Chaque système d'exploitation/distribution est différent, par exemple sous Debian/Ubuntu, vous devez installer libpq-dev. Cela vous permet de compiler et de lier du code à la bibliothèque PostgreSQL Query.
La plupart des réponses suggèrent également d'installer une bibliothèque Python dev. Faites attention. Si vous utilisez uniquement le fichier par défaut Python installé par votre distribution, cela fonctionnera, mais si vous utilisez une version plus récente, des problèmes risquent de se produire. Si vous avez construit Python sur cette machine, vous disposez déjà des bibliothèques de développement nécessaires à la compilation des bibliothèques C/C++ pour l'interface avec Python. Tant que vous utilisez la bonne version de pip, celle installée dans le même dossier bin que le binaire python, vous êtes tous définis. Pas besoin d'installer l'ancienne version.
Sur Debian/Ubuntu
:
Commencez par installer et construire les dépendances du package psycopg2
:
# apt-get build-dep python-psycopg2
Ensuite, dans votre environnement virtuel, compilez et installez le module psycopg2
:
(env)$ pip install psycopg2
Je l'ai déjà fait auparavant, où vous installez d'abord dans Windows votre installation de base python.
Ensuite, vous manuellement copiez le psycopg2 installé dans l’installation de virtualenv.
Ce n'est pas joli, mais ça marche.
En plus d’installer les paquetages requis, j’ai également dû ajouter manuellement le répertoire bin PostgreSQL à PATH.$vi ~/.bash_profile
Ajoutez PATH=/usr/pgsql-9.2/bin:$PATH
avant export PATH
.$source ~/.bash_profile
$pip install psycopg2
Sous Windows XP, vous obtenez cette erreur si PostGres n'est pas installé ...
J'ai installé Postgresql92 en utilisant le référentiel RedHat/CentOS sur le site de téléchargement de PG http://www.postgresql.org/download/linux/redhat/
Pour obtenir pg_config, je devais ajouter /usr/pgsql-9.2/bin à PATH.
Psycopg2 dépend des bibliothèques Postgres. Sur Ubuntu, vous pouvez utiliser:
apt-get install libpq-dev
Ensuite:
pip install psycopg2
Sur Fedora 24: Pour Python 3.x
Sudo dnf install postgresql-devel python3-devel
Sudo dnf install redhat-rpm-config
Activez votre environnement virtuel:
pip install psycopg2
Je me bats avec cela depuis des jours et j'ai enfin trouvé comment obtenir la commande "pip install psycopg2" pour qu'elle s'exécute dans un environnement virtuel sous Windows (exécutant Cygwin).
Je tapais sur "l'exécutable pg_config introuvable." erreur, mais j'avais déjà téléchargé et installé Postgres dans Windows. Il est également installé à Cygwin. exécuter "quel pg_config" dans Cygwin donnait "/ usr/bin/pg_config", et exécuter "pg_config" donnait une sortie saine - mais la version installée avec Cygwin est:
VERSION = PostgreSQL 8.2.11
Cela ne fonctionnera pas avec la version actuelle de psycopg2, qui semble nécessiter au moins la version 9.1. Lorsque j'ai ajouté "c:\Program Files\PostgreSQL\9.2\bin" à mon chemin Windows, le programme d'installation de pip Cygwin a été en mesure de trouver la version correcte de PostgreSQL et j'ai réussi à installer le module à l'aide de pip. (Ceci est probablement préférable à l’utilisation de la version Cygwin de PostgreSQL de toute façon, car la version native fonctionnera beaucoup plus rapidement).
Sous OpenSUSE 13.2, cela corrigeait:
Sudo zypper in postgresql-devel
Pour les utilisateurs Windows modestes, il leur fallait installer psycopg2 à partir du lien ci-dessous. Il vous suffit de l’installer à l’installation que vous avez choisie Python. Il placera le dossier nommé "psycopg2" dans le dossier site-packages de votre installation python.
Après cela, copiez simplement ce dossier dans le répertoire site-packages de votre virtualenv et vous n'aurez plus aucun problème.
voici le lien vous pouvez trouver l'exécutable pour installer psycopg2
Dans Arch distributions de base:
Sudo pacman -S python-psycopg2
pip2 install psycopg2 # Use pip or pip3 to python3
Je pourrais l'installer sur une machine Windows et utiliser Anaconda/Spyder avec python 2.7 à l'aide des commandes suivantes:
!pip install psycopg2
Ensuite, pour établir la connexion à la base de données:
import psycopg2
conn = psycopg2.connect(dbname='dbname',Host='Host_name',port='port_number', user='user_name', password='password')
Avant de pouvoir installer psycopg2, vous devez installer le paquet python-dev.
Si vous travaillez sous Linux (et éventuellement sur d’autres systèmes, mais je ne peux pas vous parler d’expérience), vous devrez vous assurer d’être assez précis sur la version de python utilisée lors de l’installation du paquet dev.
Par exemple quand j'ai utilisé la commande:
Sudo apt-get install python3-dev
J'ai toujours rencontré la même erreur en essayant de
pip install psycopg2
Comme j'utilise python 3.7, j'avais besoin d'utiliser la commande
Sudo apt-get install python3.7-dev
Une fois que j'ai fait cela, je n'ai plus eu de problèmes. Évidemment, si vous êtes sur python version 3.5, vous changerez ce 7 en 5.
Sur OSX 10.11.6 (El Capitan)
brew install postgresql
PATH=$PATH:/Library/PostgreSQL/9.4/bin pip install psycopg2
Sur Ubuntu, j'avais juste besoin du paquet postgres dev:
Sudo apt-get install postgresql-server-dev-all
* Testé dans une virtualenv
Sur OSX avec macports:
Sudo port install postgresql96
export PATH=/opt/local/lib/postgresql96/bin:$PATH
Sur macOS Mojave, assurez-vous de mettre à jour avec Mise à jour de logiciels la dernière mise à jour avec Outils de ligne de commande 10.3 - qui fonctionnait pour moi -, la version précédente des Outils de ligne de commande sur Mojave ne fonctionnait pas pour moi.
si pip ne fonctionne pas, vous pouvez télécharger le fichier .whl à partir d'ici https://pypi.python.org/pypi/psycopg2 l'extraire .. que python setup.py install
J'avais ce problème, la raison principale était avec 2 versions égales installées. Un par postgres.app et un par HomeBrew.
Si vous choisissez de ne garder que l'application:
brew unlink postgresql
pip3 install psycopg2