VOLTTRON / volttron

VOLTTRON Distributed Control System Platform
https://volttron.readthedocs.io/
Other
452 stars 217 forks source link

psycopg2-binary pinned at 2.8.6 is not installable #3116

Open craig8 opened 10 months ago

craig8 commented 10 months ago

Attempting to install psycopg-binary==2.8.6 produces the following output from python bootstrap.py --postgres

System: python3.10 Ubuntu 22.04

Collecting psycopg2-binary==2.8.6
  Using cached psycopg2-binary-2.8.6.tar.gz (384 kB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status '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-ghv1444s/psycopg2_binary.egg-info
      writing /tmp/pip-pip-egg-info-ghv1444s/psycopg2_binary.egg-info/PKG-INFO
      writing dependency_links to /tmp/pip-pip-egg-info-ghv1444s/psycopg2_binary.egg-info/dependency_links.txt
      writing top-level names to /tmp/pip-pip-egg-info-ghv1444s/psycopg2_binary.egg-info/top_level.txt
      writing manifest file '/tmp/pip-pip-egg-info-ghv1444s/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
craig8 commented 10 months ago

This same code does work on 20.04 python3.8 however.

The fix for 22.04 is to just install it via pip install psycopg2-binary without the versioning. Doing so increases the psycopg2-binary package to 2.9.7.

In this package I am not 100% sure we need it pinned. However, this is a question for @shwethanidd.