現時点で最新のPython(3.5.0)をさくらVPSの標準OSにインストールしたので、そのときの手順を書く。
サーバにログインする
ビルドにroot権限が必要なので、sudoできるユーザでログインする。
/tmpに移動
/tmpは作業中に一時的にファイルを配置するディレクトリ。ソースからインストールする際はこちらで作業すると良い。
$ cd /tmp
/tmpディレクトリについて
このディレクトリはメモリ上に展開されているため、高速なアクセスが可能らしい。詳しくは暇なときに調べてみようと思う。
wgetでPythonのソースコードを入手
以下のサイトからダウンロードするバージョンを探す。
https://www.python.org/
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