Установка psycopg2 модуля для python
При попытке установки psycopg2 модуля возникает ошибка:
Collecting psycopg2 Using cached psycopg2-2.9.6.tar.gz (383 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 ╰─> [38 lines of output] running bdist_wheel running build running build_py creating build creating build/lib.linux-x86_64-3.10 creating build/lib.linux-x86_64-3.10/psycopg2 copying lib/errors.py -> build/lib.linux-x86_64-3.10/psycopg2 copying lib/extras.py -> build/lib.linux-x86_64-3.10/psycopg2 copying lib/tz.py -> build/lib.linux-x86_64-3.10/psycopg2 copying lib/pool.py -> build/lib.linux-x86_64-3.10/psycopg2 copying lib/extensions.py -> build/lib.linux-x86_64-3.10/psycopg2 copying lib/errorcodes.py -> build/lib.linux-x86_64-3.10/psycopg2 copying lib/_range.py -> build/lib.linux-x86_64-3.10/psycopg2 copying lib/_json.py -> build/lib.linux-x86_64-3.10/psycopg2 copying lib/sql.py -> build/lib.linux-x86_64-3.10/psycopg2 copying lib/__init__.py -> build/lib.linux-x86_64-3.10/psycopg2 copying lib/_ipaddress.py -> build/lib.linux-x86_64-3.10/psycopg2 running build_ext building 'psycopg2._psycopg' extension creating build/temp.linux-x86_64-3.10 creating build/temp.linux-x86_64-3.10/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 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPSYCOPG_VERSION=2.9.6 (dt dec pq3 ext lo64) -DPSYCOPG_DEBUG=1 -DPG_VERSION_NUM=140008 -DHAVE_LO64=1 -DPSYCOPG_DEBUG=1 -I/git_local/flask-todo-dev/env-flask/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-3.10/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 '/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 ╰─> [40 lines of output] running install /git_local/flask-todo-dev/env-flask/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-3.10 creating build/lib.linux-x86_64-3.10/psycopg2 copying lib/errors.py -> build/lib.linux-x86_64-3.10/psycopg2 copying lib/extras.py -> build/lib.linux-x86_64-3.10/psycopg2 copying lib/tz.py -> build/lib.linux-x86_64-3.10/psycopg2 copying lib/pool.py -> build/lib.linux-x86_64-3.10/psycopg2 copying lib/extensions.py -> build/lib.linux-x86_64-3.10/psycopg2 copying lib/errorcodes.py -> build/lib.linux-x86_64-3.10/psycopg2 copying lib/_range.py -> build/lib.linux-x86_64-3.10/psycopg2 copying lib/_json.py -> build/lib.linux-x86_64-3.10/psycopg2 copying lib/sql.py -> build/lib.linux-x86_64-3.10/psycopg2 copying lib/__init__.py -> build/lib.linux-x86_64-3.10/psycopg2 copying lib/_ipaddress.py -> build/lib.linux-x86_64-3.10/psycopg2 running build_ext building 'psycopg2._psycopg' extension creating build/temp.linux-x86_64-3.10 creating build/temp.linux-x86_64-3.10/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 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPSYCOPG_VERSION=2.9.6 (dt dec pq3 ext lo64) -DPSYCOPG_DEBUG=1 -DPG_VERSION_NUM=140008 -DHAVE_LO64=1 -DPSYCOPG_DEBUG=1 -I/git_local/flask-todo-dev/env-flask/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-3.10/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 '/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.
На Ubuntu сначала надо установить:
apt install libpq-dev python3-dev
Потом:
pip install psycopg2