さくらVPSの標準OS(CentOS 6.7)にPython3.5.0をインストールする

現時点で最新のPython(3.5.0)をさくらVPSの標準OSにインストールしたので、そのときの手順を書く。

サーバにログインする

ビルドにroot権限が必要なので、sudoできるユーザでログインする。

/tmpに移動

/tmpは作業中に一時的にファイルを配置するディレクトリ。ソースからインストールする際はこちらで作業すると良い。

$ cd /tmp

/tmpディレクトリについて

このディレクトリはメモリ上に展開されているため、高速なアクセスが可能らしい。詳しくは暇なときに調べてみようと思う。

wgetでPythonのソースコードを入手

以下のサイトからダウンロードするバージョンを探す。
https://www.python.org/
f:id:hqac:20151128105806p:plain
Downloads >>> Source code に移動し、対象のPythonについてDownload Gzipped source tarballのリンクアドレスをコピーしておく。
次に、wgetでPythonのソースをダウンロードする。

$ wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz

wgetについて

wgetは非対話的ネットワーク転送ソフトで、Webサイト等からソースをダウンロードするとき等に使用する。オプションはwget --helpで確認できる。

コンパイルに必要なライブラリ達をインストール

$ yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel

解凍とコンパイル

$ tar zxvf Python-3.5.0.tgz
$ cd Python-3.5.0
$ ./configure --prefix=/usr/local/python
$ sudo make
$ sudo make install

tarについて

tarは多くのファイルを一つのテープやディスクのアーカイブにまとめ、更にそこから個々のファイルを取り出すことができる。詳細なオプションはtar --helpで確認できる。zxvfオプションの内容は以下の通り。

  • z: gzip 経由でアーカイブをフィルタ
  • x: アーカイブからファイルを抽出
  • v: 処理されているファイルの一覧を冗長に表示
  • f: アーカイブファイルまたはデバイスARCHIVE を使用

./configureについて

./configureは自動的に環境を調査して、環境に合わせて設定したMakefileを生成するコマンド。--prefixでインストールするディレクトリを指定できる(デフォルトでは/usr/local) 。詳細なオプションは./configure --helpで確認できる。コンパイルに必要なライブラリが不足している場合はエラーとなる。

Makefileは必要なファイルと各ファイルのコンパイルのコマンド、ファイル間の依存関係を記載したファイルで、これがあるとmakeコマンドで依存関係を解決しつつ自動的にコンパイルできる。

makeとmake installとの違い

make: ソースファイルのコンパイルを行う
make install: makeで生成されたバイナリファイルなどを規定のディレクトリにコピー(インストール)を行う

シンボリックリンクの貼り替え

$ ln -s /usr/local/python/bin/python3 /usr/local/bin/python
$ ln -s /usr/local/python/bin/pip3.5 /usr/local/bin/pip

pipはpythonのパッケージマネージャー。

シンボリックリンクとは

ショートカットのようなもの。これを設定することで、pythonとタイプしたときにpython3を呼び出してくれるようにする。以下のように記述すると、hogeでfugaにアクセスできるようになる。

ln -s fuga hoge

再度ログインする

一度ログアウトして再ログインするとPythonのバージョンが変わる。

バージョンを確認する

$ python --version
$ pip --version