3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CentOS7環境下でPostgreSQL-12をPython3.6で使うためにpsycopg2をインストールする

Posted at

インストールエラーの背景

psycopg2をpipでインストールするとPython3でPostgreSQLにアクセスする。という記事を見かけます。

# pip3 install psycopg2

などとしても、色々とエラーが表示されてインストールされません。
そこで、エラーメッセージ中に表示されていた

http://initd.org/psycopg/docs/install.html

にアクセスして方法を見つけましたので紹介します。

マシンの環境

  • CentOS Linux release 7.7.1908 (Core)
  • pgdg12リポジトリによるpostgresql12.x86_64 12.2-1PGDG.rhel7
  • baseリポジトリによるpython3.x86_64 3.6.8-10.el7

対処

Build prerequisitesに書かれていることを順に試してみます。

  • gcc がインストールされていなければインストールする。

      # yum install gcc
    
  • python3-develがインストールされていなければインストールする。

      # yum install python3-devel
    
  • libpq-devをインストールする。って書いてあるけど、これは、postgresql12-develになる。

      # yum install postgresql12-devel
    
  • PATHに、pg_configの入っているディレクトリを指定する。

      # export PATH=/usr/pgsql-12/bin:$PATH
    

結果

これで、pip3でpsycopg2がインストールできる。

# pip3 install psycopg2
WARNING: Running pip install with root privileges is generally not 
a good idea. Try `pip3 install --user` instead.
Collecting psycopg2
  Using cached https://files.pythonhosted.org/packages/84/d7/6a93c99b5ba4d4d22daa3928b983cec66df4536ca50b22ce5dcac65e4e71/psycopg2-2.8.4.tar.gz
Installing collected packages: psycopg2
  Running setup.py install for psycopg2 ... done
Successfully installed psycopg2-2.8.4

確認

# python3
Python 3.6.8 (default, Aug  7 2019, 17:28:10)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more 
information.
>>> import psycopg2
>>> quit()
#

これで、上手く、psycopg2がインストールできました。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?