Pythonインストール

Python3をCentOS7やUbuntu16.04にインストールする。


Python3を前提とする

まずは端末を開く。

Pythonはバージョン2系と3系があるが、Python3をインストールする。


CentOS7でPython3をインストールする場合

CentOS7だとデフォルトのリポジトリ(パッケージ管理システムが利用するダウンロードサイト)にあるのはPython2系だけ。他からPython3をインストールする主な方法は、

ソースからローカルにインストール

ユーザのホームディレクトリ以下にPython3のソース(例: 最新版3.6.1(XZ compressed source tarball))を利用してインストールする。

まず必要なパッケージ(Development Toolszlib-developenssl-devel)をこちらはyumでシステム全体にインストールする。

# 管理者権限で
# コンパイラなど開発ツールパッケージグループ。
yum groups install "Development Tools"
# うまくいかないならこれらも
# yum groups mark install "Development Tools"
# yum groups mark convert "Development Tools"

# python3やpip3で最低限必要なパッケージ。
yum install zlib-devel openssl-devel

# その他オプション・モジュール有効にするなら。
yum install bzip2-devel readline-devel sqlite-devel xz-devel gdbm-devel tk-devel

Python3のビルド

# ユーザ権限で
# Python3インストール先
mkdir -p ~/local/python3/
cd ~/local/python3/

# ダウンロード・展開
curl -LO https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
tar --extract --xz --file Python-3.6.1.tar.xz

# インストール
# エラーが出るなら足りないパッケージをインストールしてやり直す。
cd Python-3.6.1
./configure --prefix=$HOME/local/python3/
make
make test
make install

PATH変数にパス追加

Python3関連のコマンドをどこからでも実行できるように、PATH変数にインストール先パス($HOME/local/python3/bin)を追加する。

PATH+=:$HOME/local/python3/bin

# 次回以降のシェルでも有効化のため、~/.bashrcに追記
echo 'PATH+=:$HOME/local/python3/bin' >> ~/.bashrc

これでpython3pip3コマンドが使える。ついでにPython仮想環境virtualenvをインストールすると便利。

EPELリポジトリからシステムにインストール

ソースからのインストールがうまくできない場合などは、EPELリポジトリからPython3をシステム全体にインストールする。

まずEPELリポジトリ(epel-releaseパッケージ)をインストールする。

yum install epel-release

ここで、EPELリポジトリをデフォルトでは無効にしておきたいなら、設定ファイル/etc/yum.repos.d/epel.repoenabledを書き換えておく。

[epel]
# 0で無効に
enabled=0

EPELリポジトリからpython34-develパッケージ(バージョン3.4)をインストールする。

yum install python34-devel --enablerepo=epel

これでpython3コマンドは使えるが、pip3virtualenv別途インストールする。


Ubuntu16.04

Ubuntu16.04ではPython3はインストール済みのはずだが、もし無ければpython3パッケージをインストールする。

sudo apt install python3

バージョン確認

python3 --version
Python 3.5.2

pythonコマンドとバージョン

現状ではCentOS7もUbuntu16.04もデフォルトでpython2になっているため、末尾に数字の付かないpythonコマンドはpython2へのリンクとなっている。

type python
python は /usr/bin/python です
ls -l /usr/bin/python
lrwxrwxrwx. 1 root root 7  9月 24 11:34 /usr/bin/python -> python2

Python3が前提の当サイトではpython3コマンドで表記する。