Python3.7安装时pip install psycopg2经常出现以下报错:
现象:
a. error "Psycopg requires PostgreSQL client library (libpq) >= 9.1"
b. Error:pg_config executable not found
结论:
这些报错都可以通过配置pg_config环境来解决,输入pg_config --version查看版本,上述截图a的原因是版本不够,b的原因未配置pg_config
解决办法1:
1.1 输入pg_config --version, 如果报错command not found,则通过find / -type f -name "pg_config" 命令找出路径,
如果通过find / -type f -name "pg_config" 命令找不出路径,则需要安装postgresql-devel包,在
https://yum.postgresql.org/packages.php网站下载对应系统版本的安装包,根据依赖关系(postgresql-devel依赖postgresql和postgresql-lib)一般需要下载三个包(例如下面为centos6,想安装postgresql10版本,除以下三个包还需要libicu-devel,可以 yum -y install libicu-devel*),依次rpm -ivh 安装:
rpm -ivh postgresql10-10.8-1PGDG.rhel6 、
rpm -ivh postgresql10-libs-10.8-1PGDG.rhel6、
yum -y install libicu-devel*,
rpm -ivh postgresql10-devel-10.8-1PGDG.rhel6
1.2 find / -type f -name "pg_config"找到路径后,切换到/usr/bin目录下建立软链接即可(如果有/usr/bin/下有老版本pg_config,需先删除) ln -s /usr/pgsql-10/bin/pg_config pg_config,查看版本是否已更新为10:pg_config --version
1.3 然后在pip install psycopg2,不再报错,安装成功。
解决办法2:
使用psycopg2-binary(已经编译好的,包含各种依赖的),跳过手动编译阶段 :
pip install psycopg2-binary