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 ...
445
demandé sur Kasrâmvd 2011-03-24 17:33:55

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
666
répondu joar 2016-10-06 15:22:27

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.

110
répondu Banjer 2014-06-23 09:21:52

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

79
répondu metasequoia 2013-12-22 01:51:34

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

68
répondu nichochar 2013-10-31 16:26:26

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
60
répondu Praveen Gollakota 2013-06-01 20:52:27

pour Python 3 vous devez utiliser sudo apt-get install libpq-dev python3-dev sous Debian.

27
répondu André 2012-10-03 18:39:02

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

25
répondu radtek 2017-02-22 23:29:58

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 /

21
répondu attomos 2012-04-02 07:22:06

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.

16
répondu Michael Dillon 2015-01-17 19:41:13

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
13
répondu Omid Raha 2015-09-06 14:27:15

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.

6
répondu monkut 2012-02-27 03:35:21

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

5
répondu xtranophilist 2013-03-30 09:51:13

sous windows XP vous obtenez cette erreur si postgres n'est pas installé ...

3
répondu Sam Joseph 2012-03-14 12:42:47

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.

3
répondu jdborg 2013-09-27 15:24:11

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).

2
répondu Symmetric 2012-09-26 03:31:43

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
2
répondu Rajkumar Rajendran 2016-10-11 02:09:08

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

http://www.lfd.uci.edu / ~gohlke/pythonlibs/

1
répondu Chris Hawkes 2014-12-21 21:33:04

sur OpenSUSE 13.2, celui-ci l'a fixé:

sudo zypper in postgresql-devel 
1
répondu Elliott 2015-07-01 18:19:30

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')
1
répondu Cristian Muñoz 2016-04-11 11:18:57

In Arch distributions de base:

sudo pacman -S python-psycopg2
pip2 install psycopg2  # Use pip or pip3 to python3
1
répondu iraj jelodari 2016-07-09 09:29:28

Psycopg2 dépend des bibliothèques Postgres. Sur Ubuntu vous pouvez utiliser:

apt-get install libpq-dev

puis:

pip install psycopg2
1
répondu Manish Gupta 2017-02-18 07:36:15

sur Ubuntu j'avais juste besoin du paquet Postgres dev:

sudo apt-get install postgresql-server-dev-all

*testé dans un virtualenv

0
répondu marcanuy 2016-01-04 14:47:29

sur OSX 10.11.6 (El Capitan)

brew install postgresql
PATH=$PATH:/Library/PostgreSQL/9.4/bin pip install psycopg2
0
répondu iNoob 2017-02-24 23:35:54

sur OSX avec macports:

sudo port install postgresql96
export PATH=/opt/local/lib/postgresql96/bin:$PATH
0
répondu Palimpseste 2017-03-17 14:07:24

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

0
répondu Umer Farooq 2018-01-23 12:21:30

Essayer dans la Gentoo :

emerge dev-libs/libpqxx
-1
répondu tokhi 2015-09-29 12:06:21