seeing this on Ubuntu 22.04 which has python 3.10
pip3 install psycopg2-binary==2.8.5
Defaulting to user installation because normal site-packages is not writeable
Collecting psycopg2-binary==2.8.5
Using cached psycopg2-binary-2.8.5.tar.gz (381 kB)
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [23 lines of output]
running egg_info
creating /tmp/pip-pip-egg-info-qc0tg_5p/psycopg2_binary.egg-info
writing /tmp/pip-pip-egg-info-qc0tg_5p/psycopg2_binary.egg-info/PKG-INFO
writing dependency_links to /tmp/pip-pip-egg-info-qc0tg_5p/psycopg2_binary.egg-info/dependency_links.txt
writing top-level names to /tmp/pip-pip-egg-info-qc0tg_5p/psycopg2_binary.egg-info/top_level.txt
writing manifest file '/tmp/pip-pip-egg-info-qc0tg_5p/psycopg2_binary.egg-info/SOURCES.txt'
Error: pg_config executable not found.
pg_config is required to build psycopg2 from source. 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'.
If you prefer to avoid building psycopg2 from source, please install the PyPI
'psycopg2-binary' package instead.
For further information please check the 'doc/src/install.rst' file (also at
<https://www.psycopg.org/docs/install.html>).
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
2
Answers
This is a known issue. Use the binary version instead:
pip install psycopg2-binary
EDIT:
You dont have ‘pg_config’ which is part of
libpq-dev
on Ubuntu. Install it withsudo apt-get install libpq-dev
and try abgain.Before starting the binary installation, export PATH like below:
export PATH=$PATH:/usr/pgsql-12/bin/
Note: Change
12
to your current PostgreSQL version.