安装python依赖包psycopg2来调用postgresql的操作


Posted in Python onJanuary 01, 2021

1、先安装psycopg2的依赖组件

本案例的操作系统为linux red hat

在安装python依赖包psycopg之前,你必须需要先安装postgresql数据库的相关组件:

postgresql-devel,postgresql,postgresql-libs这三个组件比较重要。另外,可选组件:postgresql-server

安装上述组件之前,可以用命令来查看你的系统现在是否已经安装了相关组件:

[root@dthost27 ~]# rpm -qa | grep PostgreSQL

如果都没有安装,则可执行命令如下:

[root@dthost27 ~]# yum install postgresql-devel

(安装过程中会顺带安装上postgresql和postgresql-libs组件)

2、安装psycopg2依赖包

保证依赖组件存在后,就可以使用pip命令安装了:

[root@dthost27 ~]# pip install psycopg2-binary

注:这里安装的是binary格式的psycopg2依赖包,其实安装psycopg2也可以,但是有时候执行pip install psycopg2会报错,而安装psycopg2-binary(编译后)则不会

启动python测试

import psycopg2

补充:安装psycopg2报错_解决方案

报错信息

(python3-virtualenv) [root@vl-bg-anaylsis02 extract_log]# pip3 install psycopg2
Collecting psycopg2
 Using cached psycopg2-2.8.4.tar.gz (377 kB)
  ERROR: Command errored out with exit status 1:
   command: /disk2/extract_log/python3-virtualenv/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-2d9wyu3k/psycopg2/setup.py'"'"'; __file__='"'"'/tmp/pip-install-2d9wyu3k/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 /tmp/pip-install-2d9wyu3k/psycopg2/pip-egg-info
     cwd: /tmp/pip-install-2d9wyu3k/psycopg2/
  Complete output (23 lines):
  running egg_info
  creating /tmp/pip-install-2d9wyu3k/psycopg2/pip-egg-info/psycopg2.egg-info
  writing /tmp/pip-install-2d9wyu3k/psycopg2/pip-egg-info/psycopg2.egg-info/PKG-INFO
  writing dependency_links to /tmp/pip-install-2d9wyu3k/psycopg2/pip-egg-info/psycopg2.egg-info/dependency_links.txt
  writing top-level names to /tmp/pip-install-2d9wyu3k/psycopg2/pip-egg-info/psycopg2.egg-info/top_level.txt
  writing manifest file '/tmp/pip-install-2d9wyu3k/psycopg2/pip-egg-info/psycopg2.egg-info/SOURCES.txt'

  Error: pg_config executable not found.

  pg_config is required to build psycopg2 from source. Please add the directory
  containing pg_config to the $PATH or specify the full executable path with the
  option:

    python setup.py build_ext --pg-config /path/to/pg_config build ...

  or with the pg_config option in 'setup.cfg'.

  If you prefer to avoid building psycopg2 from source, please install the PyPI
  'psycopg2-binary' package instead.

  For further information please check the 'doc/src/install.rst' file (also at
  <http://initd.org/psycopg/docs/install.html>).

  ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

解决方案 For ubuntu

sudo apt-get install libpq-dev python3-dev

解决方案 For Fedora/Centos

yum install -y postgresql10
yum install postgresql-libs python3-devel postgresql-devel
yum install gcc

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。如有错误或未考虑完全的地方,望不吝赐教。

Python 相关文章推荐
python中使用enumerate函数遍历元素实例
Jun 16 Python
Python isinstance函数介绍
Apr 14 Python
python基础教程之Filter使用方法
Jan 17 Python
python DataFrame获取行数、列数、索引及第几行第几列的值方法
Apr 08 Python
python自定义函数实现一个数的三次方计算方法
Jan 20 Python
Pandas操作CSV文件的读写实现方法
Nov 13 Python
Pytorch .pth权重文件的使用解析
Feb 14 Python
python扫描线填充算法详解
Feb 19 Python
Python检测端口IP字符串是否合法
Jun 05 Python
python 基于wx实现音乐播放
Nov 24 Python
详解Python中的Lock和Rlock
Jan 26 Python
python3 实现mysql数据库连接池的示例代码
Apr 17 Python
python matlab库简单用法讲解
Dec 31 #Python
Pytorch1.5.1版本安装的方法步骤
Dec 31 #Python
python爬虫基础之urllib的使用
Dec 31 #Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
Dec 31 #Python
Python实现Appium端口检测与释放的实现
Dec 31 #Python
python 基于selectors库实现文件上传与下载
Dec 31 #Python
python中Mako库实例用法
Dec 31 #Python
You might like
Yii框架登录流程分析
2014/12/03 PHP
laravel实现按时间日期进行分组统计方法示例
2019/03/23 PHP
Laravel 实现Eloquent模型分组查询并返回每个分组的数量 groupBy()
2019/10/23 PHP
取得父标签
2006/11/14 Javascript
大家未必知道的Js技巧收藏
2008/04/07 Javascript
JQuery中如何传递参数如click(),change()等具体实现
2013/04/28 Javascript
关于Javascript加载执行优化的研究报告
2014/12/16 Javascript
网页收藏夹显示ICO图标(代码少)
2015/08/04 Javascript
JS+CSS实现带小三角指引的滑动门效果
2015/09/22 Javascript
Angular中$compile源码分析
2016/01/28 Javascript
Angularjs过滤器使用详解
2016/05/25 Javascript
Bootstrap下拉菜单更改为悬停(hover)触发的方法
2017/05/24 Javascript
JS正则表达式完美实现身份证校验功能
2017/10/18 Javascript
深入koa-bodyparser原理解析
2019/01/16 Javascript
详解Vue 如何监听Array的变化
2019/06/06 Javascript
webpack DllPlugin xxx is not defined解决办法
2019/12/13 Javascript
利用soaplib搭建webservice详细步骤和实例代码
2013/11/20 Python
Python构造函数及解构函数介绍
2015/02/26 Python
在Python的Flask框架中构建Web表单的教程
2016/06/04 Python
Python只用40行代码编写的计算器实例
2017/05/10 Python
分分钟入门python语言
2018/03/20 Python
解决在Python编辑器pycharm中程序run正常debug错误的问题
2019/01/17 Python
详解Python的爬虫框架 Scrapy
2020/08/03 Python
详解python方法之绑定方法与非绑定方法
2020/08/17 Python
CSS3模拟IOS滑动开关效果
2016/09/28 HTML / CSS
使用数据结构给女朋友写个Html5走迷宫游戏
2019/11/26 HTML / CSS
瑞典度假品牌:OAS
2019/05/28 全球购物
运动鞋、足球鞋和慕尼黑球衣:Sport Münzinger
2019/08/26 全球购物
用C语言实现文件读写操作
2013/10/27 面试题
公司人力资源的自我评价
2014/01/02 职场文书
退休感言
2014/01/28 职场文书
五好党支部事迹材料
2014/02/06 职场文书
车间主任岗位职责
2014/03/16 职场文书
产品设计开发计划书
2014/05/07 职场文书
Docker下安装Oracle19c
2022/04/13 Servers
JS实现页面炫酷的时钟特效示例
2022/08/14 Javascript