Python3 Setup for Linux (From source code)¶
ソースからビルドしてインストールするので、Ubuntu / CentOS 系など、UNIX 系で動くはず。
Windows は公式のインストーラとか Scoop とか WinGet とかそこらへんでインストールすればよいんじゃないかなあ。
1. 最新のバージョンを確認する or インストールしたいバージョンを確認する¶
見づらい 公式サイトのバージョンリスト か、比較的見やすい非公式リンク一覧サイト の「Source」を閲覧し、最新のバージョンかインストールしたいバージョンを選ぶこと。
ここで tar.gz や zip などのインストーラをダウンロードする必要はない。
2. パッケージマネージャーのパッケージ一覧更新 (APT のみ)¶
Debian 系(Ubuntu/Debian 等)を使用している場合はパッケージマネージャーは apt のため、パッケージ一覧を更新する。
以下のコマンドを実行すること。
sudo apt update
Red Hat 系(CentOS や Fedora 等)を使用している場合はパッケージマネージャーは yum のため、この作業は不要だ。
3. 必要なパッケージのインストール¶
どのパッケージが必要かについての情報が微妙なので、公式サイトなどの情報も参考にすること。
Debian GNU/Linux 系(APT): 公式サイト を参考。
sudo apt install build-essential gdb lcov libbz2-dev libffi-dev \
libgdbm-dev liblzma-dev libncurses5-dev libreadline6-dev \
libsqlite3-dev libssl-dev lzma lzma-dev tk-dev uuid-dev zlib1g-dev
Red Hat 系(yum): 公式サイト と 非公式リンク一覧サイトの「Python のビルド手順(Unix)」 を参考)
sudo yum groupinstall "development tools"
sudo yum install bzip2-devel gdbm-devel libffi-devel \
libuuid-devel ncurses-devel openssl-devel readline-devel \
sqlite-devel tk-devel wget xz-devel zlib-devel
(yum-utils をインストールすると、yum-builddep を使えるのかも…使ったことがないのでよくわからない)
4. Python ソースコードのダウンロード・展開¶
<VERSION> をインストールしたいバージョンに置き換えること。
wget https://www.python.org/ftp/python/<VERSION>/Python-<VERSION>.tar.xz
# e.g. wget https://www.python.org/ftp/python/3.9.7/Python-3.9.7.tar.xz
tar xvf Python-<VERSION>.tar.xz
cd Python-<VERSION>.tar.xz
GitHub からクローンしてソースコードを引っ張ってきても良い。
5. ビルド¶
以下のコマンドは /usr/local/ にインストールする。
./configure --enable-optimizations
make -j4
sudo make install
makeの-j4は CPU コア数のため、環境に応じて変更すること。./configureに--prefix=/path/to/をつけると、インストール先を変更できる。make installでなくmake altinstallをすると、manへの反映と/usr/bin/pythonのシンボリックリンクが作られなくなるようだ。既存の Python2 環境を破壊したくないなら、altinstallを使うべきだ。make後に、The necessary bits to build these optional modules were not found:というメッセージが出た場合、拡張モジュールに必要な依存関係がなかったためにインストールできなかった拡張モジュールが表示されている。必要な依存関係をインストール後、再度ビルドを実施すること。
6. 動作確認¶
python --version を試し、インストールしたバージョンが正しく表示されれば成功だ。