「CentOS 7.0 - Python 3.4.1 インストール(ソースビルド)」についての記録です。
(旧バージョンでの作業記録を更新しました。興味がなければスルーしてください)
0. 前提条件
- CentOS 7.0-1406(x86_64) を NetInstall で最小限インストールしている。
- サーバ用途なので、作業は基本的に全て一般ユーザから root になって行う。
- クライアント側は Linux Mint 17 を想定。
- デフォルトでインストールされている Python 2.7.5 はアンインストールせず、Python 3.3.3 をインストールし、 2.7.5 と 3.3.3 を共存させる。
(python
コマンドとpython3.4
コマンドで使い分ける) - 「デフォルトでインストールされている Python をアンインストールすることはサーバ管理上悪影響を与えるので危険である」ということを理解しておく。
1. Python バージョン確認
インストール済み(現状)の Python のバージョンを確認してみる。
1 2 |
|
--version
オプションでもよい。
2. 必要パッケージインストール
1 2 3 |
|
3. アーカイブダウンロード&展開
http://www.python.jp/
から最新安定版(当記事執筆時点では 3.4.1)のアーカイブ(今回は tgz 版)をダウンロード・展開する。
1 2 3 |
|
4. ビルド&インストール
複数系統インストールすることも考慮して configure
オプションで --prefix
を指定している。(複数系統インストールすることを考慮しないのなら prefix
は指定しなくてもよい)
また、あらゆるサイト等で紹介されている --enable-shared
のオプションは、メリットがない(むしろ問題点がある)ので使用しない。
1 2 3 4 |
|
もし、ビルドソースに問題がないか等をテストしたければ、 make
のあとで make test
でチェックしてみるとよいでしょう。
また、ソースインストールで複数バージョン混在させるなら make altinstall
でインストールするとよいらしい。
5. 環境変数 PATH 設定
パスを通すために /etc/profile
に以下のような記述を追加する。
1
|
|
root ユーザではなく一般ユーザに設定するなら “~/.bash_profile” に設定する。
もしくは、以下のようにシンボリックリンクを貼る方法でもよいだろう。
1
|
|
6. インストール確認
1 2 |
|
7. 動作確認
対話形式で確認してみる。(ユークリッドの互除法で再帰的に最大公約数を求めてみる)
(対話形式を終了するには CTRL-D
)
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
上記と同じことをファイルを作成して実行してみる。
1 2 3 4 5 6 7 |
|
1 2 |
|
ちなみに、Ruby だと以下のようになる。(基本的には Python と同様(インデントとその全行行末のコロン以外同様)に書けるけど、より簡素に書き換えてみた)
1 2 |
|
参考サイト
以上。