Python
CentOS
pyenv
python3
CentOS7.4

pyenv を用いた Python3 インストール

pyenv を用いた Python3 インストール

備忘録として残します.

実行環境

Cent OS Linux release 7.4.1708 (Core) 64 bit

手順

1. 事前準備

事前に必要なものをインストールします.
git から pyenv を取得するので,忘れずにインストールしましょう.

$ sudo yum groupinstall "Development tools"
$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline readline-devel sqlite sqlite-devel openssl openssl-devel git


2. pyenv インストール

git からインストールします.

$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv


3. PATH を通す

echoコマンドの代わりに vi や gedit などで編集しても良いです.
最後に変更を反映させるのを忘れないようにしましょう.

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
$ source .bash_profile


4. 確認

pyenv がインストールされて PATH が通ったか確認しましょう.
以下のように,コマンドを打ってバージョンがしっかりと表示されれば大丈夫です.
うまくいかなければ,正しくインストールされていないか PATH が通っていないことになるので,
前項までの手順をもう一度確認してみましょう.

$ pyenv --version
pyenv 1.2.3-43-g35f7ef8

ダメな例

$ pyenv --version
bash: pyenv: コマンドが見つかりませんでした...


5. Python3 のインストール

まずはインストール可能なバージョンを確認します.
※出力が長いので一部省略しました.

$ pyenv install --list
Available versions:
  2.1.3
  2.2.3
  2.3.7
  2.4
  2.4.1
  .....
  2.7.12
  2.7.13
  2.7.14
  3.0.1
  3.1
  3.1.1
  3.1.2
  .....
  3.6.3
  3.6.4
  3.6.5
  3.7.0b3
  3.7-dev
  3.8-dev
  activepython-2.7.14
  activepython-3.5.4
  ......

この場合ですと,2.x系は2.7.12,3.x系は3.6.5が安定版となります.
今回は Python3 のインストールが目的ですので,3.6.5をインストールします.

$ pyenv install 3.6.5

次に pyenv を用いてちゃんとインストールされているか確認しましょう.
3.6.5 が表示されていればOKです.

$ pyenv versions
* system (set by /home/hasepyon/.pyenv/version)
  3.6.5

これで python のインストールは完了しましたが,実際に使えるようにするためにはもう一手間かかります.

6. python のバージョン切り替え

まずは python のバージョンを確認します.

$ python --version
Python 2.7.5

先ほどインストールしたはずの 3.6.5 にはなっておらず,Cent OS デフォルトのものになっています.
global コマンドでバージョンを切り替えましょう.

$ pyenv global 3.6.5

もう一度 python のインストール一覧を確認しましょう.

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

* の位置が 3.6.5 にズレていますね.
これが付いているものが現在指定されている python のバージョンになります.
system はデフォルトでインストールされているものになります (ここでは2.7.5).
("user" には各々のアカウント名が入ります)

念のためさらに確認しておきましょう.

$ python --version
Python 3.6.5
$ python
Python 3.6.5 (default, Apr 12 2018, 12:43:01) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

これで使えるようになりました.