安装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 相关文章推荐
仅利用30行Python代码来展示X算法
Apr 01 Python
Python常见排序操作示例【字典、列表、指定元素等】
Aug 15 Python
Python线程之定位与销毁的实现
Feb 17 Python
详解Python爬取并下载《电影天堂》3千多部电影
Apr 26 Python
python 内置函数汇总详解
Sep 16 Python
详解python播放音频的三种方法
Sep 23 Python
Python argparse模块应用实例解析
Nov 15 Python
Django app配置多个数据库代码实例
Dec 17 Python
彻底搞懂python 迭代器和生成器
Sep 07 Python
python爬虫beautifulsoup解析html方法
Dec 07 Python
安装不同版本的tensorflow与models方法实现
Feb 20 Python
Python Pygame实战之塔防游戏的实现
Mar 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
第六节--访问属性和方法
2006/11/16 PHP
PHP 各种排序算法实现代码
2009/08/20 PHP
PHP使用CURL_MULTI实现多线程采集的例子
2014/07/29 PHP
Zend Framework教程之Loader以及PluginLoader用法详解
2016/03/09 PHP
php微信开发之上传临时素材
2016/06/24 PHP
Laravel如何自定义command命令浅析
2019/03/23 PHP
关于laravel-admin ueditor 集成并解决刷新的问题
2019/10/21 PHP
基于jquery的固定表头和列头的代码
2012/05/03 Javascript
JavaScript入门系列之知识点总结
2016/03/24 Javascript
基于javascript实现图片滑动效果
2016/05/07 Javascript
JS 在数组指定位置插入/删除数据的方法
2017/01/12 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
2017/07/05 Javascript
bootstrap datepicker插件默认英文修改为中文
2017/07/28 Javascript
探究react-native 源码的图片缓存问题
2017/08/24 Javascript
如何优雅地在vue中添加权限控制示例详解
2019/03/07 Javascript
使用layui的router来进行传参的实现方法
2019/09/06 Javascript
python实现文件名批量替换和内容替换
2014/03/20 Python
python网络编程实例简析
2014/09/26 Python
Python实现爬取知乎神回复简单爬虫代码分享
2015/01/04 Python
Python函数式编程指南(一):函数式编程概述
2015/06/24 Python
Python2.x版本中基本的中文编码问题解决
2015/10/12 Python
详解Python下Flask-ApScheduler快速指南
2018/11/04 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
2020/06/06 Python
Python 实现简单的客户端认证
2020/07/29 Python
Python 常用日期处理 -- calendar 与 dateutil 模块的使用
2020/09/02 Python
法国时尚品牌乐都特瑞士站:La Redoute瑞士
2016/09/05 全球购物
如何在存储过程中使用Loop
2016/01/05 面试题
如何通过 CSS 写出火焰效果
2021/03/24 HTML / CSS
通信工程专业个人找工作求职信范文
2013/09/21 职场文书
优秀员工自荐书范文
2013/12/08 职场文书
企业领导对照检查材料
2014/08/20 职场文书
法定代表人授权委托书格式
2014/10/14 职场文书
民事撤诉申请书范本
2015/05/18 职场文书
调解书格式范本
2015/05/20 职场文书
2019单位介绍信怎么写
2019/06/24 职场文书
python文件目录操作之os模块
2021/05/08 Python