Debian GNU/Linux 9 Stretch に Python 3.6 をソースをビルドしてインストールする方法についての記録です。
以前古いバージョンでの作業時に残していた記録を参考に作業を行い、今回更新した作業記録を貼付する形式の内容となっています。
(当然ながら、興味がなければスルーしてください)
0. 前提条件
- Debian GNU/Linux 9 (Stretch) での作業を想定。
- クライアント側は LMDE2(Linux Mint Debian Edition 2)(64bit) を想定。
- デフォルトでインストールされている Python 2.7.13, 3.5.3 はアンインストールせず、Python 3.6.3 をインストールし、 2.7.13 や 3.5.3 と共存させる。
(python
,python3.5
,python3.6
コマンドで使い分ける) - 「デフォルトでインストールされている Python をアンインストールすることはサーバ管理上悪影響を与えるので危険である」ということを理解しておく。
1. Python のバージョン確認
インストール済み(現状)の Python のバージョンを確認してみる。
1 2 3 4 5 |
|
--version
オプションでもよい。python
はpython2
でもよい。 (python2
はpython
にシンボリックリンクが張られているので)python3.5
はpython3
でもよい。 (python3
はpython3.5
にシンボリックリンクが張られているので)
2. 必要パッケージのインストール
1 2 3 |
|
更に必要なものがある場合、make
後に出力されるメッセージで確認可能。(再度 make
する必要があるが)
(開発に不要なものなら無視してもよいだろう)
3. アーカイブのダウンロード&展開
こちら から最新安定版(当記事執筆時点では 3.6.3)のアーカイブ(今回は tgz 版)をダウンロード・展開する。
1 2 3 |
|
4. ビルド&インストール
インストールを指定するなら、 configure
オプションで --prefix
を使用する。(例:./configure --prefix=/usr/local/python-3.6
)
また、あらゆるサイト等で紹介されている --enable-shared
のオプションは、メリットがない(むしろ問題点がある)ので使用しない。
1 2 3 4 |
|
make install
だと既存の python3
を破壊してしまうかもしれないため、 make altinstall
で python3.6
のみ生成するようにしている。
もし、ビルドソースに問題がないか等をテストしたければ、 make
のあとで make test
でチェックしてみるとよい。
5. 環境変数 PATH の設定
インストール先をデフォルト以外の場所にした場合、パスを通すために /etc/profile
に以下のような記述を追加する。
1 2 |
|
そして、即時有効化。(再ログインでも可)
1
|
|
root ユーザではなく一般ユーザに設定するなら “~/.bash_profile” に設定する。
もしくは、以下のようにシンボリックリンクを貼る方法でもよいだろう。
1
|
|
6. pip の更新
念の為、 pip を最新版に更新しておく。
1 2 |
|
7. pip.conf の作成
1
|
|
を実行した際に、
1 2 3 |
|
と非推奨の警告が出力されるので、以下の内容で “pip.conf” を作成する。(全ユーザ共通で設定したい場合)
1 2 |
|
columns
はlegacy
でもよい。(自分の好みに合わせる)- ユーザ別に設定したい場合、ファイルは
$HOME/.config/pip/pip.conf
8 インストールの確認
1 2 3 4 5 |
|
9. 動作確認
対話形式で確認してみる。(ユークリッドの互除法で再帰的に最大公約数を求めてみる)
(対話形式を終了するには CTRL-D
)
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
上記と同じことをファイルを作成して実行してみる。
1 2 3 4 5 6 7 |
|
1 2 |
|
10. 参考サイト
以上