psycopg2を入れる
- 2022年4月26日
2022/02 の作業
DjangoのDBがデフォルトでSQLLiteとなっているのを、PostgreSQLに変更する。
PostgreSQLに接続するドライバ?アダプタ?は、psycopg2らしいので、インストールする。
(work_venv) $ pip3 install psycopg2
・・・・ Error: pg_config executable not found. ・・・・
pg_config を実行するらしいので、インストールした postgresql の bin にパスを追加して再実行。
(work_venv) $ export PATH=$PATH:/usr/pgsql-13/bin (work_venv) $ pip3 install psycopg2
・・・・ building 'psycopg2._psycopg' extension creating build/temp.linux-aarch64-3.9 creating build/temp.linux-aarch64-3.9/psycopg gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DPSYCOPG_VERSION=2.9.3 (dt dec pq3 ext lo64) -DPSYCOPG_DEBUG=1 -DPG_VERSION_NUM=130005 -DHAVE_LO64=1 -DPSYCOPG_DEBUG=1 -I/home/wagtail_user/wagtail_venv/include -I/usr/local/include/python3.9 -I. -I/usr/pgsql-13/include -I/usr/pgsql-13/include/server -I/usr/include/libxml2 -I/usr/include -c psycopg/adapter_asis.c -o build/temp.linux-aarch64-3.9/psycopg/adapter_asis.o -Wdeclaration-after-statement In file included from psycopg/adapter_asis.c:28:0: ./psycopg/psycopg.h:36:10: fatal error: libpq-fe.h: No such file or directory #include <libpq-fe.h> ・・・・
postgresql のヘッダなどを参照するぽいので、postgresql-devel とかが必要。
なので、13 を入れているんで、postgresql13-develを入れる。
$ sudo yum install -y postgresql13-devel ・・・・ Error: Package: postgresql13-devel-13.5-1PGDG.rhel7.aarch64 (pgdg13) Requires: llvm-toolset-7.0-clang >= 7.0.1 Error: Package: postgresql13-devel-13.5-1PGDG.rhel7.aarch64 (pgdg13) Requires: llvm-toolset-7.0-llvm-devel >= 7.0.1 ・・・・
LLVM のいろいろを入れておく必要があるらしい。
epel-release、centos-release-scl をレポに追加すれば入るらしいがそれでは入らなかった。
centos の sclo レポジトリを追加すれば良いらしい。
armのインスタンスなのでarmのレポを追加。
$ sudo yum-config-manager --add-repo http://mirror.centos.org/altarch/7/sclo/aarch64/rh/
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd adding repo from: http://mirror.centos.org/altarch/7/sclo/aarch64/rh/ [mirror.centos.org_altarch_7_sclo_aarch64_rh_] name=added from: http://mirror.centos.org/altarch/7/sclo/aarch64/rh/ baseurl=http://mirror.centos.org/altarch/7/sclo/aarch64/rh/ enabled=1
そして、再度devel をインストール。
$ sudo yum install -y postgresql13-devel
・・・・ Public key for llvm-toolset-7.0-compiler-rt-7.0.1-3.el7.aarch64.rpm is not installed ・・・・
公開鍵がインストールされていないとの事なので、
https://github.com/sclorg/centos-release-scl から鍵を持ってくる。
上記の RPM-GPG-KEY-CentOS-SIG-SCLo を、/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo に作成。
そんで、追加したレポジトリのファイル、 /etc/yum.repos.d/mirror.centos.org_altarch_7_sclo_aarch64_rh_.repo に
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLoを追加。
$ sudo wget -P /etc/pki/rpm-gpg/. https://raw.githubusercontent.com/sclorg/centos-release-scl/master/centos-release-scl/RPM-GPG-KEY-CentOS-SIG-SCLo
・・・・ 2022-02-02 16:36:01 (72.3 MB/s) - ‘/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo’ saved [1057/1057]
$ sudo vi /etc/yum.repos.d/mirror.centos.org_altarch_7_sclo_aarch64_rh_.repo
[mirror.centos.org_altarch_7_sclo_aarch64_rh_] name=added from: http://mirror.centos.org/altarch/7/sclo/aarch64/rh/ baseurl=http://mirror.centos.org/altarch/7/sclo/aarch64/rh/ enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
そして、再度develをインストール。
$ sudo yum install -y postgresql13-devel
・・・・ Complete!
やっと devel のインストールが完了。
そして、最終目的のpsycopg2 をインストール。
(work_venv) $ export PATH=$PATH:/usr/pgsql-13/bin (work_venv) $ pip3 install psycopg2
・・・・ Successfully installed psycopg2-2.9.3
やっと、psycopg2 インストールが完了。