Closed Deicidium closed 4 weeks ago
@Deicidium it looks like it is failing on installing the new psycopg3 package - pyscopg2 is replaced by psycopg3 in NetBox 4, it is in requirements.txt as:
psycopg[c,pool]==3.1.19
Can you please try installing it directly with pip, see https://www.psycopg.org/psycopg3/docs/basic/install.html, there should be a package for AlmaLinux.
The Installation doesn't work with the package python3-psycopg3-3.1.18-4.el9.noarch :
Name : python3-psycopg3 Version : 3.1.18 Release : 4.el9 Architecture : noarch Size : 1.4 M Source : python-psycopg3-3.1.18-4.el9.src.rpm Repository : @System From repo : epel Summary : %{Summary} URL : https://www.psycopg.org/psycopg3/ License : LGPL-3.0-only Description : %{description}
Installing with pip doesn't work either:
/usr/bin/python3.11 -m pip install psycopg
/usr/bin/python3.11 -m pip install psycopg-binary
The output:
Using cached psycopg_c-3.1.19.tar.gz (562 kB) Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... error error: subprocess-exited-with-error
× Preparing metadata (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [8 lines of output] running dist_info creating /tmp/pip-modern-metadata-8g8_wr0h/psycopg_c.egg-info writing /tmp/pip-modern-metadata-8g8_wr0h/psycopg_c.egg-info/PKG-INFO writing dependency_links to /tmp/pip-modern-metadata-8g8_wr0h/psycopg_c.egg-info/dependency_links.txt writing top-level names to /tmp/pip-modern-metadata-8g8_wr0h/psycopg_c.egg-info/top_level.txt writing manifest file '/tmp/pip-modern-metadata-8g8_wr0h/psycopg_c.egg-info/SOURCES.txt' couldn't run 'pg_config' --includedir: [Errno 2] No such file or directory: 'pg_config' error: [Errno 2] No such file or directory: 'pg_config' [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.
You need to install another base library to your OS. The name varies a little from platform to platform but is probably something like libpq-devel or similar. you can "dnf whatprovides pg_config" or similar to find it from your distro.
Solved:
Packages postgresql16-devel and libpq-devel are mutually exclusive. If one is installed, it does not allow the installation of the other and fails without an apparent error message. The solution was to install only package libpq-devel.
@Deicidium would you be able to provide the exact steps you took to resolve this? I have been unsuccessful getting passed this error. I am getting the EXACT same issue you posted here.
RHEL 8.9
upgrading from 3.7.0 > 4.0.5 (though I also tried upgrading to 3.7.8 first and ended up in the same place).
error: [Errno 2] No such file or directory: 'pg_config'
sudo find / -name pg_config 2>/dev/null yields /usr/pgsql-15/bin/pg_config /usr/pgsql-12/bin/pg_config
which pg_config yields: /usr/pgsql-15/bin/pg_config
I have removed postgresql15-devel and installed libpq-devel and I land in the same place.
Any help is GREATLY appreciated!
Deployment Type
Self-hosted
NetBox Version
v4.0.2
Python Version
3.11
Steps to Reproduce
Execute the command:
On AlmaLinux 9.4 with Python 3.11 installed from official repos:
sudo PYTHON=/usr/bin/python3.11 ./upgrade.sh
pip packages psycopg2-binary, psycopg2 are installed. PostgreSQL 16 installed from the official repo, libpq-devel and libpq-devel are installed too.
Path /usr/pgsql-16/bin/pg_config available system wide.
/tmp are writable with defaults configuration, SELinux are permissive, Fapolicyd are permissive too.
Expected Behavior
NetBox 4.0.2 Installed
Observed Behavior
The installation fails with the message:
nstalling build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... error error: subprocess-exited-with-error
× Preparing metadata (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [8 lines of output] running dist_info creating /tmp/pip-modern-metadata-o3bwabcx/psycopg_c.egg-info writing /tmp/pip-modern-metadata-o3bwabcx/psycopg_c.egg-info/PKG-INFO writing dependency_links to /tmp/pip-modern-metadata-o3bwabcx/psycopg_c.egg-info/dependency_links.txt writing top-level names to /tmp/pip-modern-metadata-o3bwabcx/psycopg_c.egg-info/top_level.txt writing manifest file '/tmp/pip-modern-metadata-o3bwabcx/psycopg_c.egg-info/SOURCES.txt' couldn't run 'pg_config' --includedir: [Errno 2] No such file or directory: 'pg_config' error: [Errno 2] No such file or directory: 'pg_config' [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.