Comment installer psycopg2 avec " pip " sur Python?
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-infopsycopg2.egg-info
writing pip-egg-infopsycopg2.egg-infoPKG-INFO
writing top-level names to pip-egg-infopsycopg2.egg-infotop_level.txt
writing dependency_links to pip-egg-infopsycopg2.egg-infodependency_links.txt
writing manifest file 'pip-egg-infopsycopg2.egg-infoSOURCES.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 SettingsanlopesApplication Datapipp
ip.log
ma question, je n'ai besoin de faire cela que pour faire fonctionner le psycopg2?
python setup.py build_ext --pg-config /path/to/pg_config build ...
26 réponses
j'ai trouvé ce post à la recherche d'une solution Linux à ce problème.
ce posté par" goshawk " m'a donné la solution: exécuter sudo apt-get install libpq-dev python-dev
si vous êtes sur Ubuntu/Debian.
mise à Jour
depuis que plus de gens ont trouvé cette réponse utile et posté leurs propres solutions, voici une liste d'entre eux:
Debian / Ubuntu
Python 2
sudo apt install libpq-dev python-dev
Python 3
sudo apt install libpq-dev python3-dev
supplémentaire
Si aucune de résoudre votre problème, essayez de
sudo apt install build-essential
ou
sudo apt install postgresql-server-dev-all
sur CentOS, vous avez besoin des paquets 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 j'ai dû utiliser le code suivant après l'installation de Postgres:
sudo PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin pip install psycopg2
si vous êtes sur un mac, vous pouvez utiliser 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 est l'utilisation d'un binaire exécutable 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
pour Python 3 vous devez utiliser sudo apt-get install libpq-dev python3-dev
sous Debian.
C'est ce qui a fonctionné pour moi (sur RHEL, CentOS:
sudo yum install postgresql postgresql-devel python-devel
et maintenant inclure le chemin vers votre dir binaire postgresql avec vous pip install:
sudo PATH=$PATH:/usr/pgsql-9.3/bin/ pip install psycopg2
assurez-vous d'inclure le chemin correct. C'est tout :)
mise à jour: pour python 3, Veuillez installer python3-devel
au lieu de python-devel
si vous utilisez Mac OS, vous devez installer PostgreSQL à partir de la source. Après l'installation est 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 selon le système d'exploitation.
vous pouvez suivre le processus d'installation de http://www.thegeekstuff.com/2009/04/linux-postgresql-install-and-configure-from-source /
Les réponses sont trop de 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 de requêtes PostgreSQL. C'est peut-être parce que vous l'avez installé dans un endroit 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 fréquente est que vous n'avez pas du tout installé libpq. Cela se produit souvent sur les machines où vous N'avez pas de serveur PostgreSQL installés parce que vous voulez exécuter des applications clientes, pas le serveur lui-même. Chaque OS / distro est différent, par exemple sur Debian/Ubuntu vous devez installer libpq-dev. Cela vous permet de compiler et de lier le code avec la bibliothèque de requêtes PostgreSQL.
la plupart des réponses suggèrent également d'installer une bibliothèque dev Python. Être prudent. Si vous utilisez seulement le Python par défaut installé par votre distro, cela fonctionnera, mais si vous avez une nouvelle version, cela pourrait causer des problèmes. Si vous vous avez construit Python sur cette machine, alors vous avez déjà les bibliothèques dev nécessaires pour compiler des bibliothèques C/C++ pour interagir avec Python. Tant que vous utilisez la bonne version pip, celle installée dans le même dossier bin que le binaire python, alors vous êtes prêt. Pas besoin d'installer l'ancienne version.
Sur Debian/Ubuntu
:
première installation et construction des dépendances du paquet psycopg2
:
# apt-get build-dep python-psycopg2
puis dans votre environnement virtuel, compiler et installer psycopg2
module:
(env)$ pip install psycopg2
j'ai fait cela avant où dans windows vous installez d'abord dans votre installation de base python.
ensuite ,vous manuellement Copiez le psycopg2 installé à l'installation virtualenv.
ce n'est pas joli, mais ça marche.
en plus d'installer les paquets requis, j'ai aussi dû ajouter manuellement le répertoire bin de PostgreSQL au chemin.
$vi ~/.bash_profile
Ajouter 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 dépôt RedHat / CentOS sur le site de téléchargement de PG http://www.postgresql.org/download/linux/redhat/
pour obtenir pg_config, j'ai dû ajouter /usr/pgsql-9.2/bin au chemin.
je me suis battu avec cela pendant des jours, et j'ai finalement trouvé comment obtenir la commande" pip install psycopg2 " pour exécuter dans un virtualenv sous Windows (avec Cygwin).
je tapais l'exécutable pg_config introuvable."erreur, mais j'avais déjà téléchargé et installé postgres dans Windows. Il a été installé dans Cygwin ainsi; l'exécution de "which pg_config" dans Cygwin a donné "/ usr / bin / pg_config", et l'exécution de "pg_config" a donné une sortie saine -- cependant 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 9.1. Quand j'ai ajouté "c:\Program fichiers\PostgreSQL\9.2\bin" sur mon chemin Windows, L'installateur Cygwin pip a pu trouver la version correcte de PostgreSQL, et j'ai pu installer le module avec succès en utilisant pip. (Ceci est probablement préférable à L'utilisation de la version Cygwin de PostgreSQL de toute façon, version fonctionnera beaucoup plus rapide).
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
pour les utilisateurs de Windows lowly ont été bloqués d'avoir à installer psycopg2 à partir du lien ci-dessous, il suffit de l'installer à n'importe quelle installation Python que vous avez setup. 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 aucun problème.
voici le lien vous pouvez trouver l'exécutable pour installer psycopg2
sur OpenSUSE 13.2, celui-ci l'a fixé:
sudo zypper in postgresql-devel
je pourrais l'installer dans une machine windows et utiliser Anaconda / Spyder avec python 2.7 à travers les 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')
In Arch distributions de base:
sudo pacman -S python-psycopg2
pip2 install psycopg2 # Use pip or pip3 to python3
Psycopg2 dépend des bibliothèques Postgres. Sur Ubuntu vous pouvez utiliser:
apt-get install libpq-dev
puis:
pip install psycopg2
sur Ubuntu j'avais juste besoin du paquet Postgres dev:
sudo apt-get install postgresql-server-dev-all
*testé dans un virtualenv
sur OSX 10.11.6 (El Capitan)
brew install postgresql
PATH=$PATH:/Library/PostgreSQL/9.4/bin pip install psycopg2
sur OSX avec macports:
sudo port install postgresql96
export PATH=/opt/local/lib/postgresql96/bin:$PATH
si pip ne fonctionne pas que vous pouvez télécharger .fichier whl d'ici https://pypi.python.org/pypi/psycopg2
il extrait..
que python setup.py install