[CentOS] python 2.6.6 がインストールされているが python3.5.0 も追加する手順

python 2.6.6 がインストール済みの CentOS 6.6 に python 3.5.0 を追加でインストールしようと思います。

# cat /etc/redhat-release
CentOS release 6.6 (Final)
# python -V
Python 2.6.6
#

yum search python を実行するとたくさんのパッケージが表示されてどれが python 3 なのか確認するのが面倒だったのでソースファイルをダウンロードしてコンパイル、インストールすることにしました。

python 3.5.0 のインストール場所は /usr/local/bin とし、/usr/local/bin/python3 で使えるようにします。インストールは root で実行しています。

1.ソースファイルのダウンロード

wget でダウンロードします。

# cd /usr/local/src
# wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz
–2015-10-03 20:47:04– https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz
www.python.org (http://www.python.org/) をDNSに問いあわせています… 103.245.222.223
www.python.org|103.245.222.223|:443 (http://www.python.org%7C103.245.222.223%7C:443/) に接続しています… 接続しました。
HTTP による接続要求を送信しました、応答を待っています… 200 OK
長さ: 20053428 (19M) [application/octet-stream]
`Python-3.5.0.tgz’ に保存中100%[======================================================================================>] 20,053,428 1.12M/s 時間 17s2015-10-03 20 (tel:2015100320):47:21 (1.12 MB/s) – `Python-3.5.0.tgz’ へ保存完了 [20053428/20053428]# ls -tlr Python*
-rw-r—r–. 1 root root 20053428 9月 13 20:47 2015 Python-3.5.0.tgz
#

tar で解凍して cd で移動します。

# tar zxvf Python-3.5.0.tgz
Python-3.5.0/
Python-3.5.0/Objects/
Python-3.5.0/Objects/descrobject.c

(途中省略)

Python-3.5.0/Modules/timemodule.c
Python-3.5.0/Modules/_operator.c
Python-3.5.0/Modules/_heapqmodule.c
# ls -F
Python-3.5.0/ Python-3.5.0.tgz
# cd Python-3.5.0
# pwd
/usr/local/src/Python-3.5.0
#

インストールオプションを知りたいと思い、README を読んでみる。

# ls -1F
Doc/
Grammar/
Include/
LICENSE
Lib/
Mac/
Makefile.pre.in
Misc/
Modules/
Objects/
PC/
PCbuild/
Parser/
Programs/
Python/
README
Tools/
aclocal.m4
config.guess*
config.sub*
configure*
configure.ac
install-sh*
pyconfig.h.in
setup.py
# more README
This is Python version 3.5.0
============================Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
2012, 2013, 2014, 2015 Python Software Foundation. All rights reserved.Python 3.x is a new version of the language, which is incompatible with the
2.x line of releases. The language is mostly the same, but many details,
especially how built-in objects like dictionaries and strings work,
have changed considerably, and a lot of deprecated features have finally
been removed.Build Instructions
——————On Unix, Linux, BSD, OSX, and Cygwin:

./configure
make
make test
sudo make install

This will install Python as python3.

You can pass many options to the configure script; run “./configure —help” to
find out more. On OSX and Cygwin, the executable is called python.exe;
elsewhere it’s just python.

./configure —help でインストールオプションが確認できるとあるので、その通り叩いてみると下記のような記述が見つかった。

By default, `make install’ will install all the files in
`/usr/local/bin’, `/usr/local/lib’ etc. You can specify
an installation prefix other than `/usr/local’ using `—prefix’,
for instance `–prefix=$HOME’.

どうやら –prefix オプションでいいらしい。

さっき more README で README ファイルを表示された中に、Build Instructions という箇所があり、この通りやればインストールができることがわかる。

最初が ./configure となっているがこれに —prefix オプションをつけてインストール場所を指定してやれば良いはず。README に書かれている通りに下記4つのコマンドを実施した。インストール状況は大量に表示されるので省略。

# ./configure —prefix=/usr/local/bin
# make
# make test
# make install

/usr/local/bin/python もしくは /usr/local/bin/python3 が作られると思っていたのですが、/usr/local/bin/bin/python3 となってしまいました。

/usr/local/bin/python3 として使いたいのでシンボリックリンクを作ります。

# ln -s /usr/local/bin/bin/python3 /usr/local/bin/python3
# ls -l /usr/local/bin/python3
lrwxrwxrwx. 1 root root 26 10月 3 22:07 2015 /usr/local/bin/python3 → /usr/local/bin/bin/python3
# which python3
/usr/local/bin/python3
# which python
/usr/bin/python
# python3 -V
Python 3.5.0
# python -V
Python 2.6.6
#

うん。これでいい。共存できてるみたい。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください