1. 程式人生 > 資料庫 >安裝python依賴包psycopg2來呼叫postgresql的操作

安裝python依賴包psycopg2來呼叫postgresql的操作

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

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援我們。如有錯誤或未考慮完全的地方,望不吝賜教。