web-dev-qa-db-fra.com

Comment installer psycopg2 avec l'erreur pg_config?

J'ai essayé d'installer psycopg2 (adapater de base de données PostgreSQL) à partir de ce site , mais quand j'essaie d'installer après avoir cd dans le paquet et écrire

python setup.py install 

J'obtiens l'erreur suivante:

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

J'ai également essayé "Sudo pip install psycopg2" et j'ai reçu le même message.

Après avoir lu le docs , il demande de regarder le fichier setup.cfg (qui est ci-dessous):

[build_ext]
define=

# PSYCOPG_DISPLAY_SIZE enable display size calculation (a little slower)
# HAVE_PQFREEMEM should be defined on PostgreSQL >= 7.4
# PSYCOPG_DEBUG can be added to enable verbose debug information

# "pg_config" is required to locate PostgreSQL headers and libraries needed to
# build psycopg2. If pg_config is not in the path or is installed under a
# different name uncomment the following option and set it to the pg_config
# full path.
#pg_config=

# Set to 1 to use Python datetime objects for default date/time representation.
use_pydatetime=1

# If the build system does not find the mx.DateTime headers, try
# uncommenting the following line and setting its value to the right path.
#mx_include_dir=

# For Windows only:
# Set to 1 if the PostgreSQL library was built with OpenSSL.
# Required to link in OpenSSL libraries and dependencies.
have_ssl=0

# Statically link against the postgresql client library.
#static_libpq=1

# Add here eventual extra libraries required to link the module.
#libraries=

Cependant, je ne sais pas si je suis censé modifier ce fichier, car la documentation indique ce qui suit:

then take a look at the setup.cfg file.

Some of the options available in setup.cfg are also available as command line arguments of the build_ext sub-command. For instance you can specify an alternate pg_config version using:

$ python setup.py build_ext --pg-config /path/to/pg_config build

Use python setup.py build_ext --help to get a list of the options supported.

J'ai la liste des options prises en charge, mais je ne sais pas où aller à partir de là

14
Chris

Si vous êtes sur Ubuntu, essayez

Sudo apt-get install python-psycopg2

Sinon, vous devez rechercher et installer les packages client Postgresql pour votre distribution. installation psycopg2 depuis la source

5
goCards
Debian/Ubuntu

Python 2

Sudo apt install libpq-dev python-dev

Python

Sudo apt install libpq-dev python3-dev

supplémentaire

If none of the above solve your issue, try

Sudo apt install build-essential
or

Sudo apt install postgresql-server-dev-all
29
jahmed31

Si vous devez installer sans compiler:

pip install psycopg2-binary
10
sp1111

J'obtenais ce problème car je n'avais pas encore installé PostgreSQL sur ma machine. Sur mac juste un simple brew install postgresql a résolu le problème.

7
Seph Cordovano

La mise à niveau de pip a fonctionné pour moi: pip install --upgrade pip

1
F. P

Pour les personnes qui construisent postgres et psycopg2 de source comme moi, une autre solution est ici:

Sudo su
export PATH=/usr/local/pgsql/bin:$PATH #or path to your pg_config

Maintenant, setup.py de psycopg2 pourrait trouver pg_config correctement.

python3 setup.py install

ou si vous voulez simplement utiliser pip3, pip3 install psycopg2 devrait aussi fonctionner.

0
skywalkerytx