我正在尝试安装psycopg2以与Flask和SQLAlchemy一起使用,但出现此安装错误。我需要什么才能使它正常工作?
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/']
更多信息: 您可以重新打开吗?我发现这可能与与psycopg2和psycopg2-binary相关的已知问题有关,这些问题使它在2018年7月与wheel不兼容。我想我已经找到了特定问题,但仍在测试中。您链接的答案是我在询问之前主要经历的答案。问题不是重复的。