0

I'm trying to install psycopg2 to use with Flask and SQLAlchemy, but I get this install error. What do I need to get this working?

tomds@computer:~/Projects/fwdev$ pipenv install psycopg2
Installing psycopg2…
Adding psycopg2 to Pipfile's [packages]…
✔ Installation Succeeded 
Installing dependencies from Pipfile.lock (caf66b)…
An error occurred while installing psycopg2==2.8.2 --hash=sha256:00cfecb3f3db6eb76dcc763e71777da56d12b6d61db6a2c6ccbbb0bff5421f8f --hash=sha256:076501fc24ae13b2609ba2303d88d4db79072562f0b8cc87ec1667dedff99dc1 --hash=sha256:4e2b34e4c0ddfeddf770d7df93e269700b080a4d2ec514fec668d71895f56782 --hash=sha256:5cacf21b6f813c239f100ef78a4132056f93a5940219ec25d2ef833cbeb05588 --hash=sha256:61f58e9ecb9e4dc7e30be56b562f8fc10ae3addcfcef51b588eed10a5a66100d --hash=sha256:8954ff6e47247bdd134db602fcadfc21662835bd92ce0760f3842eacfeb6e0f3 --hash=sha256:b6e8c854cdc623028e558a409b06ea2f16d13438335941c7765d0a42b5bedd33 --hash=sha256:baca21c0f7344576346e260454d0007313ccca8c170684707a63946b27a56c8f --hash=sha256:bb1735378770fb95dbe392d29e71405d45c8bdcfa064f916504833a92ab03c55 --hash=sha256:de3d3c46c1ee18f996db42d1eb44cf1565cc9e38fb1dbd9b773ff6b3fa8035d7 --hash=sha256:dee885602bb200bdcb1d30f6da6c7bb207360bc786d0a364fe1540dd14af0bab! Will try again.
     ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 9/9 — 00:00:06
Installing initially failed dependencies…
[pipenv.exceptions.InstallError]:   File "/usr/local/lib/python3.7/dist-packages/pipenv/core.py", line 1992, in do_install
[pipenv.exceptions.InstallError]:       skip_lock=skip_lock,
[pipenv.exceptions.InstallError]:   File "/usr/local/lib/python3.7/dist-packages/pipenv/core.py", line 1253, in do_init
[pipenv.exceptions.InstallError]:       pypi_mirror=pypi_mirror,
[pipenv.exceptions.InstallError]:   File "/usr/local/lib/python3.7/dist-packages/pipenv/core.py", line 859, in do_install_dependencies
[pipenv.exceptions.InstallError]:       retry_list, procs, failed_deps_queue, requirements_dir, **install_kwargs
[pipenv.exceptions.InstallError]:   File "/usr/local/lib/python3.7/dist-packages/pipenv/core.py", line 763, in batch_install
[pipenv.exceptions.InstallError]:       _cleanup_procs(procs, not blocking, failed_deps_queue, retry=retry)
[pipenv.exceptions.InstallError]:   File "/usr/local/lib/python3.7/dist-packages/pipenv/core.py", line 681, in _cleanup_procs
[pipenv.exceptions.InstallError]:       raise exceptions.InstallError(c.dep.name, extra=err_lines)
[pipenv.exceptions.InstallError]: ['Collecting psycopg2==2.8.2 (from -r /tmp/pipenv-rlrqe8sc-requirements/pipenv-qxjzwx04-requirement.txt (line 1))', '  Using cached https://files.pythonhosted.org/packages/23/7e/93c325482c328619870b6cd09370f6dbe1148283daca65115cd63642e60f/psycopg2-2.8.2.tar.gz', 'Building wheels for collected packages: psycopg2', '  Building wheel for psycopg2 (setup.py): started', "  Building wheel for psycopg2 (setup.py): finished with status 'error'", '  Complete output from command /home/tomds/.local/share/virtualenvs/fwdev-TAVasR-s/bin/python3 -u -c "import setuptools, tokenize;__file__=\'/tmp/pip-install-ptwj3g73/psycopg2/setup.py\';f=getattr(tokenize, \'open\', open)(__file__);code=f.read().replace(\'\\r\\n\', \'\\n\');f.close();exec(compile(code, __file__, \'exec\'))" bdist_wheel -d /tmp/pip-wheel-a_e2qvcu --python-tag cp37:', '  running bdist_wheel', '  running build', '  running build_py', '  creating build', '  creating build/lib.linux-x86_64-3.7', '  creating build/lib.linux-x86_64-3.7/psycopg2', '  copying lib/__init__.py -> build/lib.linux-x86_64-3.7/psycopg2', '  copying lib/sql.py -> build/lib.linux-x86_64-3.7/psycopg2', '  copying lib/extensions.py -> build/lib.linux-x86_64-3.7/psycopg2', '  copying lib/errorcodes.py -> build/lib.linux-x86_64-3.7/psycopg2', '  copying lib/compat.py -> build/lib.linux-x86_64-3.7/psycopg2', '  copying lib/tz.py -> build/lib.linux-x86_64-3.7/psycopg2', '  copying lib/_json.py -> build/lib.linux-x86_64-3.7/psycopg2', '  copying lib/_ipaddress.py -> build/lib.linux-x86_64-3.7/psycopg2', '  copying lib/_range.py -> build/lib.linux-x86_64-3.7/psycopg2', '  copying lib/_lru_cache.py -> build/lib.linux-x86_64-3.7/psycopg2', '  copying lib/extras.py -> build/lib.linux-x86_64-3.7/psycopg2', '  copying lib/pool.py -> build/lib.linux-x86_64-3.7/psycopg2', '  copying lib/errors.py -> build/lib.linux-x86_64-3.7/psycopg2', '  warning: build_py: byte-compiling is disabled, skipping.', '  ', '  running build_ext', "  building 'psycopg2._psycopg' extension", '  creating build/temp.linux-x86_64-3.7', '  creating build/temp.linux-x86_64-3.7/psycopg', '  x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPSYCOPG_VERSION=2.8.2 (dt dec pq3 ext lo64) -DPG_VERSION_NUM=100007 -DHAVE_LO64=1 -I/usr/include/python3.7m -I/home/tomds/.local/share/virtualenvs/fwdev-TAVasR-s/include/python3.7m -I. -I/usr/include/postgresql -I/usr/include/postgresql/10/server -c psycopg/psycopgmodule.c -o build/temp.linux-x86_64-3.7/psycopg/psycopgmodule.o -Wdeclaration-after-statement', '  In file included from psycopg/psycopgmodule.c:27:0:', '  ./psycopg/psycopg.h:34:10: fatal error: Python.h: No such file or directory', '   #include <Python.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", '  <http://initd.org/psycopg/docs/install.html>).', '  ', "  error: command 'x86_64-linux-gnu-gcc' failed with exit status 1", '  ', '  ----------------------------------------', '  Running setup.py clean for psycopg2', 'Failed to build psycopg2', 'Installing collected packages: psycopg2', '  Running setup.py install for psycopg2: started', "    Running setup.py install for psycopg2: finished with status 'error'", '    Complete output from command /home/tomds/.local/share/virtualenvs/fwdev-TAVasR-s/bin/python3 -u -c "import setuptools, tokenize;__file__=\'/tmp/pip-install-ptwj3g73/psycopg2/setup.py\';f=getattr(tokenize, \'open\', open)(__file__);code=f.read().replace(\'\\r\\n\', \'\\n\');f.close();exec(compile(code, __file__, \'exec\'))" install --record /tmp/pip-record-9jpdqyie/install-record.txt --single-version-externally-managed --compile --install-headers /home/tomds/.local/share/virtualenvs/fwdev-TAVasR-s/include/site/python3.7/psycopg2:', '    running install', '    running build', '    running build_py', '    creating build', '    creating build/lib.linux-x86_64-3.7', '    creating build/lib.linux-x86_64-3.7/psycopg2', '    copying lib/__init__.py -> build/lib.linux-x86_64-3.7/psycopg2', '    copying lib/sql.py -> build/lib.linux-x86_64-3.7/psycopg2', '    copying lib/extensions.py -> build/lib.linux-x86_64-3.7/psycopg2', '    copying lib/errorcodes.py -> build/lib.linux-x86_64-3.7/psycopg2', '    copying lib/compat.py -> build/lib.linux-x86_64-3.7/psycopg2', '    copying lib/tz.py -> build/lib.linux-x86_64-3.7/psycopg2', '    copying lib/_json.py -> build/lib.linux-x86_64-3.7/psycopg2', '    copying lib/_ipaddress.py -> build/lib.linux-x86_64-3.7/psycopg2', '    copying lib/_range.py -> build/lib.linux-x86_64-3.7/psycopg2', '    copying lib/_lru_cache.py -> build/lib.linux-x86_64-3.7/psycopg2', '    copying lib/extras.py -> build/lib.linux-x86_64-3.7/psycopg2', '    copying lib/pool.py -> build/lib.linux-x86_64-3.7/psycopg2', '    copying lib/errors.py -> build/lib.linux-x86_64-3.7/psycopg2', '    warning: build_py: byte-compiling is disabled, skipping.', '    ', '    running build_ext', "    building 'psycopg2._psycopg' extension", '    creating build/temp.linux-x86_64-3.7', '    creating build/temp.linux-x86_64-3.7/psycopg', '    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPSYCOPG_VERSION=2.8.2 (dt dec pq3 ext lo64) -DPG_VERSION_NUM=100007 -DHAVE_LO64=1 -I/usr/include/python3.7m -I/home/tomds/.local/share/virtualenvs/fwdev-TAVasR-s/include/python3.7m -I. -I/usr/include/postgresql -I/usr/include/postgresql/10/server -c psycopg/psycopgmodule.c -o build/temp.linux-x86_64-3.7/psycopg/psycopgmodule.o -Wdeclaration-after-statement', '    In file included from psycopg/psycopgmodule.c:27:0:', '    ./psycopg/psycopg.h:34:10: fatal error: Python.h: No such file or directory', '     #include <Python.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", '    <http://initd.org/psycopg/docs/install.html>).', '    ', "    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1", '    ', '    ----------------------------------------']
[pipenv.exceptions.InstallError]: ['Failed building wheel for psycopg2', 'Command "/home/tomds/.local/share/virtualenvs/fwdev-TAVasR-s/bin/python3 -u -c "import setuptools, tokenize;__file__=\'/tmp/pip-install-ptwj3g73/psycopg2/setup.py\';f=getattr(tokenize, \'open\', open)(__file__);code=f.read().replace(\'\\r\\n\', \'\\n\');f.close();exec(compile(code, __file__, \'exec\'))" install --record /tmp/pip-record-9jpdqyie/install-record.txt --single-version-externally-managed --compile --install-headers /home/tomds/.local/share/virtualenvs/fwdev-TAVasR-s/include/site/python3.7/psycopg2" failed with error code 1 in /tmp/pip-install-ptwj3g73/psycopg2/']
  • I have python 3.7, postgresql 10.7, postgresql-server-dev-10, libpq-dev, python3-psycopg2, and python3-dev installed by following other tutorials with no luck.
  • pip install --upgrade wheel is up to date
  • pg_config outputs without error

More Information: Can you re-open this? I found out this might have to do with a known issue related to psycopg2 and psycopg2-binary that make it not compatible with wheel back in July 2018. I think I located the specific issue, but am still testing it. The answers you linked are ones I have mostly gone through before asking; question is not a duplicate.

zwm
  • 3
  • 3

0 Answers0