📅  最后修改于: 2023-12-03 15:33:42.529000             🧑  作者: Mango
当我们使用 pipenv
安装 psycopg2==2.8.4
库时,可能会遇到安装失败的情况。这通常是由于缺少所需的依赖项引起的。在本文中,我们将深入探讨出现这种情况的原因,并提供解决方案。
当尝试使用 pipenv
安装 psycopg2==2.8.4
库时,我们会发现以下错误消息:
$ pipenv install psycopg2==2.8.4
Installing psycopg2==2.8.4...
Collecting psycopg2==2.8.4
Using cached psycopg2-2.8.4.tar.gz (377 kB)
ERROR: Command errored out with exit status 1:
command: /Users/user/.local/share/virtualenvs/project-OIfx6yhx/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/ld/bj7zdyqs6zn0vypf9mf2qg5r0000gn/T/pip-install-j5u5cae3/psycopg2/setup.py'"'"'; __file__='"'"'/private/var/folders/ld/bj7zdyqs6zn0vypf9mf2qg5r0000gn/T/pip-install-j5u5cae3/psycopg2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /private/var/folders/ld/bj7zdyqs6zn0vypf9mf2qg5r0000gn/T/pip-install-j5u5cae3/psycopg2/pip-egg-info
cwd: /private/var/folders/ld/bj7zdyqs6zn0vypf9mf2qg5r0000gn/T/pip-install-j5u5cae3/psycopg2/
Complete output (6 lines):
running egg_info
creating /private/var/folders/ld/bj7zdyqs6zn0vypf9mf2qg5r0000gn/T/pip-install-j5u5cae3/psycopg2/pip-egg-info/psycopg2.egg-info
writing /private/var/folders/ld/bj7zdyqs6zn0vypf9mf2qg5r0000gn/T/pip-install-j5u5cae3/psycopg2/pip-egg-info/psycopg2.egg-info/PKG-INFO
writing dependency_links to /private/var/folders/ld/bj7zdyqs6zn0vypf9mf2qg5r0000gn/T/pip-install-j5u5cae3/psycopg2/pip-egg-info/psycopg2.egg-info/dependency_links.txt
writing top-level names to /private/var/folders/ld/bj7zdyqs6zn0vypf9mf2qg5r0000gn/T/pip-install-j5u5cae3/psycopg2/pip-egg-info/psycopg2.egg-info/top_level.txt
writing manifest file '/private/var/folders/ld/bj7zdyqs6zn0vypf9mf2qg5r0000gn/T/pip-install-j5u5cae3/psycopg2/pip-egg-info/psycopg2.egg-info/SOURCES.txt'
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
这个错误是由于缺少所需的依赖项引起的。下面是一些可能缺失的依赖项:
PostgreSQL
。您必须安装 PostgreSQL
并设置环境变量,以在编译期间从中获取所需的头文件和库文件。可以通过运行以下命令在 Ubuntu 上安装 PostgreSQL
:
sudo apt-get install postgresql
Python3-dev
。要编译 psycopg2
,您需要 Python 的开发包。在 Ubuntu 上,可以运行以下命令安装python3-dev
:
sudo apt-get install python3-dev
libpq-dev
。您还需要安装使用 Psycopg2
库所需的 libpq
库文件。在 Ubuntu 上,可以运行以下命令安装 libpq-dev
:
sudo apt-get install libpq-dev
请注意,如果您是在其他操作系统上运行 pipenv
,则必须相应地安装适当的依赖项。
安装完所有需要的依赖项后,再次运行以下命令来安装 psycopg2
库,它应该能够成功安装:
pipenv install psycopg2==2.8.4
现在,您可以在 pipenv
中使用 psycopg2
库了!
*注:代码块使用 Markdown 语法
```bash
sudo apt-get install postgresql
sudo apt-get install python3-dev
sudo apt-get install libpq-dev
pipenv install psycopg2==2.8.4
```