2. Unix プラットフォームで Python を使う

2.1. 最新バージョンの Python の取得とインストール

2.1.1. Linux

ほとんどの Linux ディストリビューションには Python があらかじめインストールされており、それ以外のディストリビューションでもパッケージとして利用できます。 ただし、使いたい機能がディストリビューションのパッケージでは利用できないこともあります。 最新バージョンの Python はソースからコンパイルできます。

最新バージョンの Python があらかじめインストールされておらず、リポジトリにもない場合は、自分のディストリビューション向けにパッケージを作成できます。 次のリンクを参照してください:

2.1.1.1. IDLE のインストール

場合によっては、 IDLE は Python インストールに含まれていない可能性があります。

  • Debian と Ubuntu ユーザー:

    sudo apt update
    sudo apt install idle
    
  • Fedora や RHEL 、 CentOS ユーザーは:

    sudo dnf install python3-idle
    
  • SUSE と OpenSUSE ユーザーは:

    sudo zypper install python3-idle
    
  • Alpine Linux ユーザーは:

    sudo apk add python3-idle
    

2.1.2. FreeBSD と OpenBSD

  • FreeBSD ユーザーが Python パッケージを追加するには次のようにしてください:

    pkg install python3
    
  • OpenBSD ユーザーが Python パッケージを追加するには次のようにしてください:

    pkg_add -r python
    
    pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/<ここにアーキテクチャを挿入>/python-<バージョン>.tgz
    

    例えば、i386 ユーザーが Python 2.5.1 を取得するには次のようにします:

    pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/i386/python-2.5.1p2.tgz
    

2.2. Python のビルド

参考

CPython に貢献したい場合は、ビルド手順や環境設定のヒントを掲載した 開発者ガイド を参照してください。

CPython を自分でコンパイルする場合は、まず ソース を入手してください。 最新リリースのソースをダウンロードするか、最新の クローン を取得できます。 ビルドに必要なもの もインストールする必要があります。

ビルド手順は通常のコマンドで行います

./configure
make
make install

Configure のオプション や特定の Unix プラットフォームにおける注意点は Python ソースツリーのルートにある README.rst に細かく記載されています。

警告

make install は python3 バイナリを上書きしたり、既存のバイナリに代わって使われるようにしたりする可能性があります。 そのため、make install の代わりに、exec_prefix/bin/pythonversion のみをインストールする make altinstall を推奨します。

2.4. その他

Python スクリプトを Unix で簡単に使うためには、例えば次のようにしてスクリプトを実行可能ファイルにし、

$ chmod +x script

適切な shebang 行をスクリプトの先頭に置きます。たいていの場合良い方法は

#!/usr/bin/env python3

で、PATH 全体から Python インタープリターを探します。しかし、いくつかの Unix は env コマンドを持たないので、インタープリターのパスを /usr/bin/python3 のようにハードコードしなければならないかもしれません。

シェルコマンドを Python スクリプトから使うには、 subprocess モジュールを参照してください。

2.5. カスタムの OpenSSL

  1. ベンダーの OpenSSL 設定とシステムの信頼ストアを使用するには、/etc 内で openssl.cnf ファイルまたはそのシンボリックリンクを含むディレクトリを探してください。 ほとんどのディストリビューションでは、ファイルは /etc/ssl または /etc/pki/tls にあります。 そのディレクトリには cert.pem ファイル、certs ディレクトリ、またはその両方もあるはずです。

    $ find /etc/ -name openssl.cnf -printf "%h\n"
    /etc/ssl
    
  2. OpenSSL をダウンロードし、ビルドしてインストールします。 install ではなく、必ず install_sw を使用してください。 install_sw ターゲットは openssl.cnf を上書きしません。

    $ curl -O https://www.openssl.org/source/openssl-VERSION.tar.gz
    $ tar xzf openssl-VERSION
    $ pushd openssl-VERSION
    $ ./config \
        --prefix=/usr/local/custom-openssl \
        --libdir=lib \
        --openssldir=/etc/ssl
    $ make -j1 depend
    $ make -j8
    $ make install_sw
    $ popd
    
  3. カスタムの OpenSSL を使って Python をビルドします (configure の --with-openssl および --with-openssl-rpath オプションを参照してください)

    $ pushd python-3.x.x
    $ ./configure -C \
        --with-openssl=/usr/local/custom-openssl \
        --with-openssl-rpath=auto \
        --prefix=/usr/local/python-3.x.x
    $ make -j8
    $ make altinstall
    

注釈

OpenSSL のパッチリリースでは、ABI の後方互換性が保たれます。 OpenSSL を更新するために Python を再コンパイルする必要はありません。 インストール済みのカスタム OpenSSL を新しいバージョンで置き換えるだけで十分です。