LoginSignup
8
7

More than 5 years have passed since last update.

(RHEL5 CentOS5 に) pyenv でPython2.7 python3.5 をインストールする方法 (2016 Nov)

Last updated at Posted at 2016-11-01

依然として古いシステムが時々存在します.こうしたシステムでサポートされているpythonのバージョンごとにpythonスクリプトを書き,管理するのは非常に大変です.

調べてみたところ,
- ソースからコンパイル
- 2.6 の rpm からインストール
- easy_install を使ってインストール
といった方法が見つかりましたが,どれもバージョンごとに違う手続きだったり,しっくりしませんでした.

pyenvを使った方法が見つからなかったのでここに共有します.

ちなみに,centos6, RHEL6, centos7, RHEL7 でもこの手順でインストールできます.その場合はgitは yum install git でインストールします

インストール環境

実機でも可能ですが,再現できる検証環境としてvagrantを用意します.この記事でもこの環境で動作確認済みです.

# ホストで実行
vagrant box add centos5 http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_centos-5.10-i386_chef-provisionerless.box
vagrant init
vagrant up
vagrant ssh

一応,アップデートしておきます.必須ではありません.

# vmで実行
sudo yum -y update
cat /etc/redhat-release 
    # CentOS release 5.11 (Final)

Git をインストール

Centos5 / RHEL5 には git はデフォルトで入っていないので,EPELからインストールします

# vmで実行
sudo rpm -ivh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/5/x86_64/epel-release-5-4.noarch.rpm
sudo yum -y install --enablerepo=epel git

pyenv をインストール

pyenv を github からインストールします.

# vmで実行
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 'eval "$(pyenv init -)"' >> ~/.bash_profile
exec $SHELL -l

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

yum で必要なパッケージをインストールします.

# vmで実行
sudo yum -y install gcc make 
sudo yum -y install readline readline-devel
sudo yum -y install zlib zlib-devel
sudo yum -y install bzip2 bzip2-devel
sudo yum -y install sqlite sqlite-devel
sudo yum -y install openssl openssl-devel

python3をインストールする場合は,追加で以下のパッケージをインストールします.

# vmで実行
sudo yum -y install patch

python をインストールする

pyenv でインストール可能なバージョンをリストします.

# vmで実行
pyenv install -l

このなかで,今回は 2.7.12 をインストールします.

# vmで実行
pyenv install 2.7.12
pyenv global 2.7.12

pip も普通に使えます.

# vmで実行
pip install requests
8
7
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
8
7