Denen blog

株式会社電縁の社員によるブログです。

Amazon Linux 2環境にPython 3.5.2とPostgreSQL 10をインストールしたお話

f:id:yasuaki-sakai:20180823183652j:plain

Denen blog をご覧の皆様、あけましておめでとうございます。

イノベーションオフィスの吉田です。

本年もよろしくお願いいたします。

 

早速ですが新年1発目ということで昨年末の話をさせてください(笑)

 

昨年末、訳有って EC2 環境に Python 3.5.2 と PostgreSQL 10 をインストールしたのですが、意外とためになったのでメモとして残しておこうと思います。

時期によってパッケージのバージョンが変わってしまうので、2018年12月時点のお話として読んでいただければと思います。

 

前提

OS:Amazon Linux 2

YUM 上にある Python 3 のバージョン:3.7.1

YUM 上にある PostgreSQL のバージョン:9.6

 

Python 3.5.2 のインストール

Python をバージョン指定してインストール手法は幾つかありますが、ここでは自分でビルドすることにしました。

まずは必要なライブラリをインストールします。

$ sudo yum groupinstall 'Development tools'
$ sudo yum install openssl-devel
$ sudo yum install sqlite-devel

次にパッケージをダウンロードしてきてビルドします。

$ mkdir work
$ cd work
$ wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
$ tar vxzf Python-3.5.2.tgz
$ cd Python-3.5.2
$ sudo ./configure --prefix=/usr/local
$ sudo make
$ sudo make install

これで python3 コマンドが使えるようになります。

こちらは簡単ですね!

 

PostgreSQL 10 のインストール

さて、問題はこちらです。

実は Amazon Linux 2 には Extra Library と呼ばれるパッケージ群が存在しまして、新しいバージョンのパッケージがインストール出来たりします。

dev.classmethod.jp

しかし、細かいパッケージを指定する方法がいまいち見つからなかったので力技でやってみました。

 

Extra Library も YUMリポジトリの1つのような形なので、まずは YUM からパッケージをインストールします。

$ sudo yum install --enablerepo=amzn2extra-postgresql10 postgresql postgresql-server postgresql-libs postgresql-contrib

はい、リポジトリを指定してあげればいいんですね。

そしたら後は PostgreSQL のセットアップを行っていきます。

$ sudo postgresql-setup initdb
$ sudo systemctl enable postgresql
$ sudo systemctl start postgresql

これで完了です。

 

というわけで Amazon Linux 2 の小技でした。

どなたかの参考になれば幸いです。

 

それでは!

 

書いた人:イノベーションオフィス 室長 吉田

f:id:yasuaki-sakai:20171204190702j:plain