LoginSignup
1
1

More than 5 years have passed since last update.

pyenv を使って CentOS 5 に Python 3 をインストールする方法

Posted at

2017 年もあと少しで終わろうとしている爽秋の季節に CentOS 5 に Python 3 をインストールしないといけない状況になってしまった。

というわけで、本日の「どうしてこうなった」案件。対象のOSは、泣く子も黙るEOSLを迎えた CentOS 5.11 でございます。

事前に必要なパッケージをインストール

EPEL 導入済みの環境を前提として、以下のものは最低でもインストールしてリポジトリの最新のバージョンに上げておく。

$ sudo yum -y install gcc make readline readline-devel zlib zlib-devel bzip2 bzip2-devel sqlite sqlite-devel openssl openssl-devel git

pyenv のインストール

ちなみに git がインストールされてないと詰む。

$ git clone git://github.com/yyuu/pyenv.git ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
$ exec "$SHELL"

pyenv コマンドでインストール可能なバージョンが確認できるようになる。

$ pyenv install --list
Available versions:
  2.1.3
  ...
  3.5.4
  ...

Python 3 のインストール

CFLAGSLDFLAGS を明示してインストールしないと、インストール後に pip などを実行した際に、SSL 周りでエラーが出力される、あるいはそもそもインストールできない、といった事象が発生するので注意されたし。自分の環境だけなのかどうか分からんが、Python 3.6.0 以降のビルドには失敗する。Python 3.5.4 ならインストール可能。理由は知らん。

$ CFLAGS=-I/usr/include/openssl LDFLAGS=-L/usr/lib64 pyenv install -v 3.5.4

このコマンドで利用可能なバージョンが確認できる。

$ pyenv versions
* system
  3.5.4 (set by /home/user/.pyenv/version)

3.5.4 を利用する場合はこのコマンドを実行する。

$ pyenv global 3.5.4

すると、3.5.4 にチェックがついた。

$ pyenv versions
  system
* 3.5.4 (set by /home/user/.pyenv/version)

パスの通っている python のバージョンが 3.5.4 になっている。

$ python -V
Python 3.5.4

他にも Python3 をインストールする方法はあるだろうが、最速で構築できるであろうゆとりな方法を採用させていただいた。

参考にした記事

1
1
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
1
1