Pythonをソースコードからビルドする

必要に迫られてPythonをソースコードからビルドしたので、その手順のメモ。

参考にしたのは以下のサイト。
Build CPython on Windows

ざっくりまとめると以下の順で作業する。

  1. ソースコードをダウンロードして展開
  2. 依存ファイルの取得
  3. ビルド

試したのは、以下の環境でビルドした例。

  • Python 3.6.8
  • Visual Studio 2017(※VS2019だとNG)

ソースコードをダウンロードして展開

公式サイトからソースコード一式(Tarball)を入手する
https://www.python.org/downloads/source/

公式サイトからソースコードをダウンロードする
公式サイトからソースコードをダウンロードする

ダウンロードしたTarballを解凍して作業用のフォルダへ展開する。

依存ファイルの取得

ソースコードが参照しているライブラリを取得する。

スタートメニューから、[Visual Studio 2017]-[VS 2017用 x64 Native Tools コマンドプロンプト]を選択して、コマンドプロンプトを表示する。

VS2017のコマンドプロンプトを起動する
VS2017のコマンドプロンプトを起動する

解凍したソースコードのフォルダへ移動して、batファイルで依存関係のあるファイルを取得する。

以下の2行をプロンプトから実行すればOK.

> cd Python-3.6.8
> PCbuild\get_externals.bat
バッチファイルを実行して依存ファイルを取得する
バッチファイルを実行して依存ファイルを取得する

ビルド

解凍したソースコードにソリューションが含まれているので、Visual Studio 2017を使ってビルドする。

エクスプローラーで PCBuld\pcbuild.sln を選んで、VS2017で開く。

pcbuild.slnをVS207で開く
pcbuild.slnをVS207で開く

Releasex64を選び、ソリューションエクスプローラーで、pcbuild.slnを選んで右クリック、「ソリューションのビルド」を実行する。
さらに、Debugに変更して、再度ビルド。

ソリューションのビルド
ソリューションのビルド

これで、Amd64 フォルダに.lib, .exe等が出来上がっていればOK。

Pythonがamd64フォルダにビルドされいる
Pythonがamd64フォルダにビルドされいる

動作環境

以下の環境で動作を確認しています。

Windows10 Pro (64bit, 1909)
Visual Studio Professional 2017