Installing pycopg2 gave me an issue in ubuntu 22.4, pip3 version 22.2

Question:

While I was Installing psyxopg2 I got the below error. Can any one help me with it…

Collecting psycopg2

  Using cached psycopg2-2.9.3.tar.gz (380 kB)

  Preparing metadata (setup.py) ... done

Building wheels for collected packages: psycopg2

  Building wheel for psycopg2 (setup.py) ... error

  error: subprocess-exited-with-error

  

  × python setup.py bdist_wheel did not run successfully.

  │ exit code: 1

  ╰─> [40 lines of output]

      /home/vedvund/PycharmProjects/postgreSQLDatabaseusingPython /venv/lib/python3.10/site-packages/setuptools/config/setupcfg.py:463: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.

        warnings.warn(msg, warning_class)

      running bdist_wheel

      running build

      running build_py

      creating build

      creating build/lib.linux-x86_64-cpython-310

      creating build/lib.linux-x86_64-cpython-310/psycopg2

      copying lib/_ipaddress.py -> build/lib.linux-x86_64-cpython-310/psycopg2

      copying lib/__init__.py -> build/lib.linux-x86_64-cpython-310/psycopg2

      copying lib/errors.py -> build/lib.linux-x86_64-cpython-310/psycopg2

      copying lib/tz.py -> build/lib.linux-x86_64-cpython-310/psycopg2

      copying lib/_json.py -> build/lib.linux-x86_64-cpython-310/psycopg2

      copying lib/extras.py -> build/lib.linux-x86_64-cpython-310/psycopg2

      copying lib/errorcodes.py -> build/lib.linux-x86_64-cpython-310/psycopg2

      copying lib/extensions.py -> build/lib.linux-x86_64-cpython-310/psycopg2

      copying lib/pool.py -> build/lib.linux-x86_64-cpython-310/psycopg2

      copying lib/sql.py -> build/lib.linux-x86_64-cpython-310/psycopg2

      copying lib/_range.py -> build/lib.linux-x86_64-cpython-310/psycopg2

      running build_ext

      building 'psycopg2._psycopg' extension

      creating build/temp.linux-x86_64-cpython-310

      creating build/temp.linux-x86_64-cpython-310/psycopg

      x86_64-linux-gnu-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC "-DPSYCOPG_VERSION=2.9.3 (dt dec pq3 ext lo64)" -DPSYCOPG_DEBUG=1 -DPG_VERSION_NUM=140004 -DHAVE_LO64=1 -DPSYCOPG_DEBUG=1 "-I/home/vedvund/PycharmProjects/postgreSQLDatabaseusingPython /venv/include" -I/usr/include/python3.10 -I. -I/usr/include/postgresql -I/usr/include/postgresql/14/server -I/usr/include/libxml2 -c psycopg/adapter_asis.c -o build/temp.linux-x86_64-cpython-310/psycopg/adapter_asis.o -Wdeclaration-after-statement

      In file included from psycopg/adapter_asis.c:28:

      ./psycopg/psycopg.h:36:10: fatal error: libpq-fe.h: No such file or directory

         36 | #include <libpq-fe.h>

            |          ^~~~~~~~~~~~

      compilation terminated.

      

      It appears you are missing some prerequisite to build the package from source.

      

      You may install a binary package by installing 'psycopg2-binary' from PyPI.

      If you want to install psycopg2 from source, please install the packages

      required for the build and try again.

      

      For further information please check the 'doc/src/install.rst' file (also at

      <https://www.psycopg.org/docs/install.html>).

      

      error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1

      [end of output]

  

  note: This error originates from a subprocess, and is likely not a problem with pip.

  ERROR: Failed building wheel for psycopg2

  Running setup.py clean for psycopg2

Failed to build psycopg2

Installing collected packages: psycopg2

  Running setup.py install for psycopg2 ... error

  error: subprocess-exited-with-error

  

  × Running setup.py install for psycopg2 did not run successfully.

  │ exit code: 1

  ╰─> [42 lines of output]

      /home/vedvund/PycharmProjects/postgreSQLDatabaseusingPython /venv/lib/python3.10/site-packages/setuptools/config/setupcfg.py:463: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.

        warnings.warn(msg, warning_class)

      running install

      /home/vedvund/PycharmProjects/postgreSQLDatabaseusingPython /venv/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.

        warnings.warn(

      running build

      running build_py

      creating build

      creating build/lib.linux-x86_64-cpython-310

      creating build/lib.linux-x86_64-cpython-310/psycopg2

      copying lib/_ipaddress.py -> build/lib.linux-x86_64-cpython-310/psycopg2

      copying lib/__init__.py -> build/lib.linux-x86_64-cpython-310/psycopg2

      copying lib/errors.py -> build/lib.linux-x86_64-cpython-310/psycopg2

      copying lib/tz.py -> build/lib.linux-x86_64-cpython-310/psycopg2

      copying lib/_json.py -> build/lib.linux-x86_64-cpython-310/psycopg2

      copying lib/extras.py -> build/lib.linux-x86_64-cpython-310/psycopg2

      copying lib/errorcodes.py -> build/lib.linux-x86_64-cpython-310/psycopg2

      copying lib/extensions.py -> build/lib.linux-x86_64-cpython-310/psycopg2

      copying lib/pool.py -> build/lib.linux-x86_64-cpython-310/psycopg2

      copying lib/sql.py -> build/lib.linux-x86_64-cpython-310/psycopg2

      copying lib/_range.py -> build/lib.linux-x86_64-cpython-310/psycopg2

      running build_ext

      building 'psycopg2._psycopg' extension

      creating build/temp.linux-x86_64-cpython-310

      creating build/temp.linux-x86_64-cpython-310/psycopg

      x86_64-linux-gnu-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC "-DPSYCOPG_VERSION=2.9.3 (dt dec pq3 ext lo64)" -DPSYCOPG_DEBUG=1 -DPG_VERSION_NUM=140004 -DHAVE_LO64=1 -DPSYCOPG_DEBUG=1 "-I/home/vedvund/PycharmProjects/postgreSQLDatabaseusingPython /venv/include" -I/usr/include/python3.10 -I. -I/usr/include/postgresql -I/usr/include/postgresql/14/server -I/usr/include/libxml2 -c psycopg/adapter_asis.c -o build/temp.linux-x86_64-cpython-310/psycopg/adapter_asis.o -Wdeclaration-after-statement

      In file included from psycopg/adapter_asis.c:28:

      ./psycopg/psycopg.h:36:10: fatal error: libpq-fe.h: No such file or directory

         36 | #include <libpq-fe.h>

            |          ^~~~~~~~~~~~

      compilation terminated.

      

      It appears you are missing some prerequisite to build the package from source.

      

      You may install a binary package by installing 'psycopg2-binary' from PyPI.

      If you want to install psycopg2 from source, please install the packages

      required for the build and try again.

      

      For further information please check the 'doc/src/install.rst' file (also at

      <https://www.psycopg.org/docs/install.html>).

      

      error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1

      [end of output]

  

  note: This error originates from a subprocess, and is likely not a problem with pip.

error: legacy-install-failure



× Encountered error while trying to install package.

╰─> psycopg2



note: This is an issue with the package mentioned above, not pip.

hint: See above for output from the failure.
Asked By: Vedavyas Vundyala

||

Answers:

The repeated error seems to be:

./psycopg/psycopg.h:36:10: fatal error: libpq-fe.h: No such file or directory

which is a problem that has been encountered before. The solution was to use:

sudo apt-get install --reinstall libpq-dev

to reinstall the package. Check this answer which goes in-depth about the problem.

Answered By: M B
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.